Browse Source

WebGLRenderer: offset to drawcall.

Mr.doob 10 years ago
parent
commit
c43699e1e9
1 changed files with 43 additions and 43 deletions
  1. 43 43
      src/renderers/WebGLRenderer.js

+ 43 - 43
src/renderers/WebGLRenderer.js

@@ -1038,9 +1038,9 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 			}
 			}
 
 
-			var offsets = geometry.drawcalls;
+			var drawcall = geometry.drawcalls;
 
 
-			if ( offsets.length === 0 ) {
+			if ( drawcall.length === 0 ) {
 
 
 				if ( updateBuffers ) {
 				if ( updateBuffers ) {
 
 
@@ -1074,14 +1074,14 @@ THREE.WebGLRenderer = function ( parameters ) {
 			} else {
 			} else {
 
 
 				// if there is more than 1 chunk
 				// if there is more than 1 chunk
-				// must set attribute pointers to use new offsets for each chunk
+				// must set attribute pointers to use new drawcall for each chunk
 				// even if geometry and materials didn't change
 				// even if geometry and materials didn't change
 
 
 				updateBuffers = true;
 				updateBuffers = true;
 
 
-				for ( var i = 0, il = offsets.length; i < il; i ++ ) {
+				for ( var i = 0, il = drawcall.length; i < il; i ++ ) {
 
 
-					var startIndex = offsets[ i ].index;
+					var startIndex = drawcall[ i ].index;
 
 
 					if ( updateBuffers ) {
 					if ( updateBuffers ) {
 
 
@@ -1092,7 +1092,7 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 					// render indexed triangles
 					// render indexed triangles
 
 
-					if ( geometry instanceof THREE.InstancedBufferGeometry && offsets[ i ].instances > 0 ) {
+					if ( geometry instanceof THREE.InstancedBufferGeometry && drawcall[ i ].instances > 0 ) {
 
 
 						var extension = extensions.get( 'ANGLE_instanced_arrays' );
 						var extension = extensions.get( 'ANGLE_instanced_arrays' );
 
 
@@ -1103,17 +1103,17 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 						}
 						}
 
 
-						extension.drawElementsInstancedANGLE( mode, offsets[ i ].count, type, offsets[ i ].start * size, offsets[ i ].count, type, offsets[ i ].instances ); // Draw the instanced meshes
+						extension.drawElementsInstancedANGLE( mode, drawcall[ i ].count, type, drawcall[ i ].start * size, drawcall[ i ].count, type, drawcall[ i ].instances ); // Draw the instanced meshes
 
 
 					} else {
 					} else {
 
 
-						_gl.drawElements( mode, offsets[ i ].count, type, offsets[ i ].start * size );
+						_gl.drawElements( mode, drawcall[ i ].count, type, drawcall[ i ].start * size );
 
 
 					}
 					}
 
 
 					_infoRender.calls ++;
 					_infoRender.calls ++;
-					_infoRender.vertices += offsets[ i ].count; // not really true, here vertices can be shared
-					_infoRender.faces += offsets[ i ].count / 3;
+					_infoRender.vertices += drawcall[ i ].count; // not really true, here vertices can be shared
+					_infoRender.faces += drawcall[ i ].count / 3;
 
 
 				}
 				}
 
 
@@ -1126,12 +1126,12 @@ THREE.WebGLRenderer = function ( parameters ) {
 				setupVertexAttributes( material, program, geometry, 0 );
 				setupVertexAttributes( material, program, geometry, 0 );
 
 
 			}
 			}
-			
+
 			// non-indexed triangles
 			// non-indexed triangles
 
 
-			var offsets = geometry.drawcalls;
+			var drawcall = geometry.drawcalls;
 
 
-			if ( offsets.length === 0 ) {
+			if ( drawcall.length === 0 ) {
 
 
 				var position = geometry.attributes.position;
 				var position = geometry.attributes.position;
 
 
@@ -1178,7 +1178,7 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 			} else {
 			} else {
 
 
-				for ( var i = 0, il = offsets.length; i < il; i ++ ) {
+				for ( var i = 0, il = drawcall.length; i < il; i ++ ) {
 
 
 					// render non-indexed triangles
 					// render non-indexed triangles
 
 
@@ -1189,13 +1189,13 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 					} else {
 					} else {
 
 
-						_gl.drawArrays( mode, offsets[ i ].start, offsets[ i ].count );
+						_gl.drawArrays( mode, drawcall[ i ].start, drawcall[ i ].count );
 
 
 					}
 					}
 
 
 					_infoRender.calls ++;
 					_infoRender.calls ++;
-					_infoRender.vertices += offsets[ i ].count;
-					_infoRender.faces += ( offsets[ i ].count  ) / 3;
+					_infoRender.vertices += drawcall[ i ].count;
+					_infoRender.faces += ( drawcall[ i ].count  ) / 3;
 
 
 				}
 				}
 
 
@@ -1236,9 +1236,9 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 			}
 			}
 
 
-			var offsets = geometry.drawcalls;
+			var drawcall = geometry.drawcalls;
 
 
-			if ( offsets.length === 0 ) {
+			if ( drawcall.length === 0 ) {
 
 
 				if ( updateBuffers ) {
 				if ( updateBuffers ) {
 
 
@@ -1255,14 +1255,14 @@ THREE.WebGLRenderer = function ( parameters ) {
 			} else {
 			} else {
 
 
 				// if there is more than 1 chunk
 				// if there is more than 1 chunk
-				// must set attribute pointers to use new offsets for each chunk
+				// must set attribute pointers to use new drawcall for each chunk
 				// even if geometry and materials didn't change
 				// even if geometry and materials didn't change
 
 
-				if ( offsets.length > 1 ) updateBuffers = true;
+				if ( drawcall.length > 1 ) updateBuffers = true;
 
 
-				for ( var i = 0, il = offsets.length; i < il; i ++ ) {
+				for ( var i = 0, il = drawcall.length; i < il; i ++ ) {
 
 
-					var startIndex = offsets[ i ].index;
+					var startIndex = drawcall[ i ].index;
 
 
 					if ( updateBuffers ) {
 					if ( updateBuffers ) {
 
 
@@ -1273,10 +1273,10 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 					// render indexed lines
 					// render indexed lines
 
 
-					_gl.drawElements( mode, offsets[ i ].count, type, offsets[ i ].start * size ); // 2 bytes per Uint16Array
+					_gl.drawElements( mode, drawcall[ i ].count, type, drawcall[ i ].start * size ); // 2 bytes per Uint16Array
 
 
 					_infoRender.calls ++;
 					_infoRender.calls ++;
-					_infoRender.vertices += offsets[ i ].count; // not really true, here vertices can be shared
+					_infoRender.vertices += drawcall[ i ].count; // not really true, here vertices can be shared
 
 
 				}
 				}
 
 
@@ -1293,9 +1293,9 @@ THREE.WebGLRenderer = function ( parameters ) {
 			}
 			}
 
 
 			var position = geometry.attributes.position;
 			var position = geometry.attributes.position;
-			var offsets = geometry.drawcalls;
+			var drawcall = geometry.drawcalls;
 
 
-			if ( offsets.length === 0 ) {
+			if ( drawcall.length === 0 ) {
 
 
 				_gl.drawArrays( mode, 0, position.array.length / 3 );
 				_gl.drawArrays( mode, 0, position.array.length / 3 );
 
 
@@ -1304,12 +1304,12 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 			} else {
 			} else {
 
 
-				for ( var i = 0, il = offsets.length; i < il; i ++ ) {
+				for ( var i = 0, il = drawcall.length; i < il; i ++ ) {
 
 
-					_gl.drawArrays( mode, offsets[ i ].index, offsets[ i ].count );
+					_gl.drawArrays( mode, drawcall[ i ].index, drawcall[ i ].count );
 
 
 					_infoRender.calls ++;
 					_infoRender.calls ++;
-					_infoRender.vertices += offsets[ i ].count;
+					_infoRender.vertices += drawcall[ i ].count;
 
 
 				}
 				}
 
 
@@ -1345,9 +1345,9 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 			}
 			}
 
 
-			var offsets = geometry.drawcalls;
+			var drawcall = geometry.drawcalls;
 
 
-			if ( offsets.length === 0 ) {
+			if ( drawcall.length === 0 ) {
 
 
 				if ( updateBuffers ) {
 				if ( updateBuffers ) {
 
 
@@ -1364,14 +1364,14 @@ THREE.WebGLRenderer = function ( parameters ) {
 			} else {
 			} else {
 
 
 				// if there is more than 1 chunk
 				// if there is more than 1 chunk
-				// must set attribute pointers to use new offsets for each chunk
+				// must set attribute pointers to use new drawcall for each chunk
 				// even if geometry and materials didn't change
 				// even if geometry and materials didn't change
 
 
-				if ( offsets.length > 1 ) updateBuffers = true;
+				if ( drawcall.length > 1 ) updateBuffers = true;
 
 
-				for ( var i = 0, il = offsets.length; i < il; i ++ ) {
+				for ( var i = 0, il = drawcall.length; i < il; i ++ ) {
 
 
-					var startIndex = offsets[ i ].index;
+					var startIndex = drawcall[ i ].index;
 
 
 					if ( updateBuffers ) {
 					if ( updateBuffers ) {
 
 
@@ -1382,10 +1382,10 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 					// render indexed points
 					// render indexed points
 
 
-					_gl.drawElements( mode, offsets[ i ].count, type, offsets[ i ].start * size );
+					_gl.drawElements( mode, drawcall[ i ].count, type, drawcall[ i ].start * size );
 
 
 					_infoRender.calls ++;
 					_infoRender.calls ++;
-					_infoRender.points += offsets[ i ].count;
+					_infoRender.points += drawcall[ i ].count;
 
 
 				}
 				}
 
 
@@ -1402,9 +1402,9 @@ THREE.WebGLRenderer = function ( parameters ) {
 			}
 			}
 
 
 			var position = geometry.attributes.position;
 			var position = geometry.attributes.position;
-			var offsets = geometry.drawcalls;
+			var drawcall = geometry.drawcalls;
 
 
-			if ( offsets.length === 0 ) {
+			if ( drawcall.length === 0 ) {
 
 
 				_gl.drawArrays( mode, 0, position.array.length / 3 );
 				_gl.drawArrays( mode, 0, position.array.length / 3 );
 
 
@@ -1413,12 +1413,12 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 			} else {
 			} else {
 
 
-				for ( var i = 0, il = offsets.length; i < il; i ++ ) {
+				for ( var i = 0, il = drawcall.length; i < il; i ++ ) {
 
 
-					_gl.drawArrays( mode, offsets[ i ].index, offsets[ i ].count );
+					_gl.drawArrays( mode, drawcall[ i ].index, drawcall[ i ].count );
 
 
 					_infoRender.calls ++;
 					_infoRender.calls ++;
-					_infoRender.points += offsets[ i ].count;
+					_infoRender.points += drawcall[ i ].count;
 
 
 				}
 				}