Browse Source

WebGLRenderer: Fixed OES_element_index_uint handling.

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

+ 5 - 3
src/renderers/WebGLRenderer.js

@@ -2690,7 +2690,7 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 				var type, size;
 
-				if ( index.array instanceof Uint32Array ) {
+				if ( index.array instanceof Uint32Array && extensions.get( 'OES_element_index_uint' ) ) {
 
 					type = _gl.UNSIGNED_INT;
 					size = 4;
@@ -3832,7 +3832,9 @@ THREE.WebGLRenderer = function ( parameters ) {
 	var geometryGroups = {};
 	var geometryGroupCounter = 0;
 
-	function makeGroups( geometry, usesFaceMaterial, maxVerticesInGroup ) {
+	function makeGroups( geometry, usesFaceMaterial ) {
+
+		var maxVerticesInGroup = extensions.get( 'OES_element_index_uint' ) ? 4294967296 : 65535;
 
 		var groupHash, hash_map = {};
 
@@ -3912,7 +3914,7 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 			delete _webglObjects[ object.id ];
 
-			geometryGroups[ geometry.id ] = makeGroups( geometry, material instanceof THREE.MeshFaceMaterial, extensions.get( 'OES_element_index_uint' ) ? 4294967296 : 65535 );
+			geometryGroups[ geometry.id ] = makeGroups( geometry, material instanceof THREE.MeshFaceMaterial );
 
 			geometry.groupsNeedUpdate = false;