Browse Source

WebGLRenderer: Avoid shader crash when reaching too many uniforms. See #10754.

Mr.doob 8 years ago
parent
commit
2f99f5480f
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/renderers/webgl/WebGLPrograms.js

+ 2 - 1
src/renderers/webgl/WebGLPrograms.js

@@ -64,6 +64,7 @@ function WebGLPrograms( renderer, capabilities ) {
 				if ( maxBones < object.skeleton.bones.length ) {
 
 					console.warn( 'WebGLRenderer: too many bones - ' + object.skeleton.bones.length + ', this GPU supports just ' + maxBones + ' (try OpenGL instead of ANGLE)' );
+					return 0;
 
 				}
 
@@ -169,7 +170,7 @@ function WebGLPrograms( renderer, capabilities ) {
 			sizeAttenuation: material.sizeAttenuation,
 			logarithmicDepthBuffer: capabilities.logarithmicDepthBuffer,
 
-			skinning: ( object && object.isSkinnedMesh ),
+			skinning: ( object && object.isSkinnedMesh ) && maxBones > 0,
 			maxBones: maxBones,
 			useVertexTexture: capabilities.floatVertexTextures && object && object.skeleton && object.skeleton.useVertexTexture,