Browse Source

make webglrenderer2 work for bufferGeometry and ribbons

OpenShift guest 12 years ago
parent
commit
f1dc798ce5
2 changed files with 8 additions and 3 deletions
  1. 3 3
      src/renderers/WebGLRenderer2.js
  2. 5 0
      src/renderers/webgl/renderer.js

+ 3 - 3
src/renderers/WebGLRenderer2.js

@@ -902,11 +902,11 @@ THREE.WebGLRenderer2 = function ( parameters ) {
 			
 			if ( a === "index" ) {
 
-				renderer.setStaticIndexBuffer(attribute.buffer,attribute.data);
+				renderer.setStaticIndexBuffer(attribute.buffer,attribute.array);
 
 			} else {
 
-				renderer.setStaticArrayBuffer(attribute.buffer,attribute.data);
+				renderer.setStaticArrayBuffer(attribute.buffer,attribute.array);
 
 			}
 
@@ -3522,7 +3522,7 @@ THREE.WebGLRenderer2 = function ( parameters ) {
 
 		} else if ( object instanceof THREE.Ribbon ) {
 
-			renderer.drawLineStrip(geometryGroup.__webglVertexCount);
+			renderer.drawTriangleStrip(geometryGroup.__webglVertexCount);
 
 			_this.info.render.calls ++;
 

+ 5 - 0
src/renderers/webgl/renderer.js

@@ -383,6 +383,10 @@ THREE.WebGLRenderer2.LowLevelRenderer = function(parameters){
 		_gl.drawArrays( _gl.TRIANGLES, 0, count );
 	};
 	
+	function drawTriangleStrip(count){
+		_gl.drawArrays( _gl.TRIANGLE_STRIP, 0, count );
+	};
+	
 	function drawLines(count){
 		_gl.drawArrays( _gl.LINES, 0, count );
 	};
@@ -1458,6 +1462,7 @@ THREE.WebGLRenderer2.LowLevelRenderer = function(parameters){
 	this.setDynamicIndexBuffer = setDynamicIndexBuffer;
 	
 	this.drawTriangles = drawTriangles;
+	this.drawTriangleStrip = drawTriangleStrip;
 	this.drawLines = drawLines;
 	this.drawLineStrip = drawLineStrip;
 	this.drawPoints = drawPoints;