Ver código fonte

Simplify the fix by using a 0-length array instead

To avoid creating new Array objects, just change the length to 0; we
can't index into the array anyhow.
Arseny Kapoulkine 5 anos atrás
pai
commit
bbb981b2fa
1 arquivos alterados com 3 adições e 8 exclusões
  1. 3 8
      src/renderers/webgl/WebGLMorphtargets.js

+ 3 - 8
src/renderers/webgl/WebGLMorphtargets.js

@@ -18,15 +18,10 @@ function WebGLMorphtargets( gl ) {
 
 		var objectInfluences = object.morphTargetInfluences;
 
-		if ( objectInfluences === undefined ) {
+		// When object doesn't have morph target influences defined, we treat it as a 0-length array
+		// This is important to make sure we set up morphTargetBaseInfluence / morphTargetInfluences
 
-			program.getUniforms().setValue( gl, 'morphTargetBaseInfluence', 1.0 );
-			program.getUniforms().setValue( gl, 'morphTargetInfluences', morphInfluencesZero );
-			return;
-
-		}
-
-		var length = objectInfluences.length;
+		var length = objectInfluences === undefined ? 0 : objectInfluences.length;
 
 		var influences = influencesList[ geometry.id ];