Prechádzať zdrojové kódy

WebGLRenderer: Support material.wireframe in BufferGeometry.
Not the prettiest wireframe, but better than nothing I guess.

Mr.doob 11 rokov pred
rodič
commit
254a1e0127
1 zmenil súbory, kde vykonal 5 pridanie a 3 odobranie
  1. 5 3
      src/renderers/WebGLRenderer.js

+ 5 - 3
src/renderers/WebGLRenderer.js

@@ -2580,6 +2580,8 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 		if ( object instanceof THREE.Mesh ) {
 
+			var mode = material.wireframe === false ? _gl.TRIANGLES : _gl.LINES;
+
 			var index = geometryAttributes[ "index" ];
 
 			if ( index ) {
@@ -2611,7 +2613,7 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 					}
 
-					_gl.drawElements( _gl.TRIANGLES, index.array.length, type, 0 );
+					_gl.drawElements( mode, index.array.length, type, 0 );
 
 					_this.info.render.calls ++;
 					_this.info.render.vertices += index.array.length; // not really true, here vertices can be shared
@@ -2638,7 +2640,7 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 						// render indexed triangles
 
-						_gl.drawElements( _gl.TRIANGLES, offsets[ i ].count, type, offsets[ i ].start * size );
+						_gl.drawElements( mode, offsets[ i ].count, type, offsets[ i ].start * size );
 
 						_this.info.render.calls ++;
 						_this.info.render.vertices += offsets[ i ].count; // not really true, here vertices can be shared
@@ -2662,7 +2664,7 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 				// render non-indexed triangles
 
-				_gl.drawArrays( _gl.TRIANGLES, 0, position.array.length / 3 );
+				_gl.drawArrays( mode, 0, position.array.length / 3 );
 
 				_this.info.render.calls ++;
 				_this.info.render.vertices += position.array.length / 3;