提交 13344c82 编写于 作者: M Mr.doob

Updated builds.

上级 00421026
......@@ -35033,32 +35033,40 @@ THREE.WireframeHelper = function ( object ) {
}
} else {
} else if ( object.geometry.offsets ) {
var vertices = object.geometry.attributes.position.array;
var faces = object.geometry.attributes.index.array;
var indices = object.geometry.attributes.index.array;
var offsets = object.geometry.offsets
// allocate maximal size
var edges = new Uint32Array(2 * faces.length);
var edges = new Uint32Array(2 * indices.length);
for ( var i = 0, l = faces.length / 3; i < l; i ++ ) {
for ( var o = 0, ol = offsets.length; o < ol; ++ o ) {
for ( var j = 0; j < 3; j ++ ) {
var start = offsets[ o ].start;
var count = offsets[ o ].count;
var index = offsets[ o ].index;
var il;
var index = i * 3;
for ( var i = start, il = start + count; i < il; i += 3 ) {
edge[ 0 ] = faces[ index + j ];
edge[ 1 ] = faces[ index + ( j + 1 ) % 3 ];
edge.sort( sortFunction );
for ( var j = 0; j < 3; j ++ ) {
var key = edge.toString();
edge[ 0 ] = index + indices[ i + j ];
edge[ 1 ] = index + indices[ i + ( j + 1 ) % 3 ];
edge.sort( sortFunction );
if ( hash[ key ] === undefined ) {
var key = edge.toString();
edges[ 2 * numEdges ] = edge[ 0 ];
edges[ 2 * numEdges + 1 ] = edge[ 1 ];
hash[ key ] = true;
numEdges ++;
if ( hash[ key ] === undefined ) {
edges[ 2 * numEdges ] = edge[ 0 ];
edges[ 2 * numEdges + 1 ] = edge[ 1 ];
hash[ key ] = true;
numEdges ++;
}
}
......@@ -35083,6 +35091,36 @@ THREE.WireframeHelper = function ( object ) {
}
}
} else {
var vertices = object.geometry.attributes.position.array;
var numEdges = vertices.length / 3;
var numTris = numEdges / 3;
geometry.addAttribute( 'position', Float32Array, 2 * numEdges , 3 );
var coords = geometry.attributes.position.array;
for ( var i = 0, l = numTris; i < l; i ++ ) {
var index = i * 9;
var index2 = 2 * index;
for ( var j = 0; j < 3; j ++ ) {
var vertex1 = j * 3;
var vertex2 = ( ( j + 1 ) % 3 ) * 3;
coords[ index2 + 0 ] = vertices[ index + vertex1 ];
coords[ index2 + 1 ] = vertices[ index + vertex1 + 1 ];
coords[ index2 + 2 ] = vertices[ index + vertex1 + 2 ];
coords[ index2 + 3 ] = vertices[ index + vertex2 ];
coords[ index2 + 4 ] = vertices[ index + vertex2 + 1 ];
coords[ index2 + 5 ] = vertices[ index + vertex2 + 2 ];
}
}
}
THREE.Line.call( this, geometry, new THREE.LineBasicMaterial( { color: 0xffffff } ), THREE.LinePieces );
......
因为 它太大了无法显示 source diff 。你可以改为 查看blob
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册