提交 5d2b4431 编写于 作者: M Mr.doob

WebGLObjects: Moved wireframe out of attributes.

上级 3ff29459
...@@ -118,17 +118,7 @@ THREE.WebGLObjects = function ( gl, properties, info ) { ...@@ -118,17 +118,7 @@ THREE.WebGLObjects = function ( gl, properties, info ) {
function updateAttribute( attribute, name ) { function updateAttribute( attribute, name ) {
var bufferType; var bufferType = name === 'index' ? gl.ELEMENT_ARRAY_BUFFER : gl.ARRAY_BUFFER;
if ( name === 'index' || name === 'wireframe' ) {
bufferType = gl.ELEMENT_ARRAY_BUFFER;
} else {
bufferType = gl.ARRAY_BUFFER;
}
var data = ( attribute instanceof THREE.InterleavedBufferAttribute ) ? attribute.data : attribute; var data = ( attribute instanceof THREE.InterleavedBufferAttribute ) ? attribute.data : attribute;
...@@ -208,16 +198,16 @@ THREE.WebGLObjects = function ( gl, properties, info ) { ...@@ -208,16 +198,16 @@ THREE.WebGLObjects = function ( gl, properties, info ) {
function getWireframeAttribute( geometry ) { function getWireframeAttribute( geometry ) {
var attributes = geometry.attributes; if ( geometry._wireframe !== undefined ) {
if ( attributes.wireframe !== undefined ) {
return attributes.wireframe; return geometry._wireframe;
} }
var indices = []; var indices = [];
var attributes = geometry.attributes;
var index = attributes.index; var index = attributes.index;
var position = attributes.position; var position = attributes.position;
...@@ -228,7 +218,7 @@ THREE.WebGLObjects = function ( gl, properties, info ) { ...@@ -228,7 +218,7 @@ THREE.WebGLObjects = function ( gl, properties, info ) {
var edges = {}; var edges = {};
var array = index.array; var array = index.array;
for ( var i = 0, j = 0, l = array.length; i < l; i += 3 ) { for ( var i = 0, l = array.length; i < l; i += 3 ) {
var a = array[ i + 0 ]; var a = array[ i + 0 ];
var b = array[ i + 1 ]; var b = array[ i + 1 ];
...@@ -244,7 +234,7 @@ THREE.WebGLObjects = function ( gl, properties, info ) { ...@@ -244,7 +234,7 @@ THREE.WebGLObjects = function ( gl, properties, info ) {
var array = position.array; var array = position.array;
for ( var i = 0, j = 0, l = ( array.length / 3 ) - 1; i < l; i += 3 ) { for ( var i = 0, l = ( array.length / 3 ) - 1; i < l; i += 3 ) {
var a = i + 0; var a = i + 0;
var b = i + 1; var b = i + 1;
...@@ -261,9 +251,9 @@ THREE.WebGLObjects = function ( gl, properties, info ) { ...@@ -261,9 +251,9 @@ THREE.WebGLObjects = function ( gl, properties, info ) {
var TypeArray = position.count > 65535 ? Uint32Array : Uint16Array; var TypeArray = position.count > 65535 ? Uint32Array : Uint16Array;
var attribute = new THREE.BufferAttribute( new TypeArray( indices ), 1 ); var attribute = new THREE.BufferAttribute( new TypeArray( indices ), 1 );
updateAttribute( attribute, 'wireframe' ); updateAttribute( attribute, 'index' );
geometry.addAttribute( 'wireframe', attribute ); geometry._wireframe = attribute;
return attribute; return attribute;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册