Browse Source

WebGLRenderer: Fixed InterleavedBufferAttribute.
@benaadams do you have an example of InterleavedBufferAttribute not using InstancedBufferGeometry?

Mr.doob 10 years ago
parent
commit
1dde6f6aa7
2 changed files with 22 additions and 15 deletions
  1. 1 1
      src/renderers/WebGLRenderer.js
  2. 21 14
      src/renderers/webgl/WebGLBufferRenderer.js

+ 1 - 1
src/renderers/WebGLRenderer.js

@@ -907,7 +907,7 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 				} else if ( position instanceof THREE.InterleavedBufferAttribute ) {
 				} else if ( position instanceof THREE.InterleavedBufferAttribute ) {
 
 
-					renderer.renderMesh( 0, position.data.count );
+					renderer.render( 0, position.data.count );
 
 
 				} else {
 				} else {
 
 

+ 21 - 14
src/renderers/webgl/WebGLBufferRenderer.js

@@ -6,32 +6,34 @@ THREE.WebGLBufferRenderer = function ( _gl, extensions, _infoRender ) {
 
 
 	var mode;
 	var mode;
 
 
-	this.setMode = function ( value ) {
+	function setMode( value ) {
 
 
 		mode = value;
 		mode = value;
 
 
-	};
+	}
 
 
-	this.renderGroups = function ( groups ) {
+	function render( start, count ) {
 
 
-		for ( var i = 0, il = groups.length; i < il; i ++ ) {
+		_gl.drawArrays( mode, start, count );
 
 
-			var group = groups[ i ];
+		_infoRender.calls ++;
+		_infoRender.vertices += count;
+		if ( mode === _gl.TRIANGLES ) _infoRender.faces += count / 3;
+
+	}
 
 
-			var start = group.start;
-			var count = group.count;
+	function renderGroups( groups ) {
 
 
-			_gl.drawArrays( mode, start, count );
+		for ( var i = 0, il = groups.length; i < il; i ++ ) {
 
 
-			_infoRender.calls ++;
-			_infoRender.vertices += count;
-			if ( mode === _gl.TRIANGLES ) _infoRender.faces += count / 3;
+			var group = groups[ i ];
+			render( group.start, group.count );
 
 
 		}
 		}
 
 
-	};
+	}
 
 
-	this.renderInstances = function ( geometry ) {
+	function renderInstances( geometry ) {
 
 
 		var extension = extensions.get( 'ANGLE_instanced_arrays' );
 		var extension = extensions.get( 'ANGLE_instanced_arrays' );
 
 
@@ -54,6 +56,11 @@ THREE.WebGLBufferRenderer = function ( _gl, extensions, _infoRender ) {
 
 
 		}
 		}
 
 
-	};
+	}
+
+	this.setMode = setMode;
+	this.render = render;
+	this.renderGroups = renderGroups;
+	this.renderInstances = renderInstances;
 
 
 };
 };