Browse Source

Shadows on Buffergeometry with morphAttributes (#9184)

* fixed shadows on buffergeometry with morphAttributes

* fixed shadows in bufferGeometry with morphAttributes

* shadows in bufferGeometry with morphAttributes pattern 2
Atrahasis 9 years ago
parent
commit
1a984f9664
1 changed files with 11 additions and 2 deletions
  1. 11 2
      src/renderers/webgl/WebGLShadowMap.js

+ 11 - 2
src/renderers/webgl/WebGLShadowMap.js

@@ -312,8 +312,17 @@ THREE.WebGLShadowMap = function ( _renderer, _lights, _objects ) {
 
 		if ( ! customMaterial ) {
 
-			var useMorphing = geometry.morphTargets !== undefined &&
-					geometry.morphTargets.length > 0 && material.morphTargets;
+			var useMorphing, morphTargets;
+
+			if ( material.morphTargets ) {
+
+				if ( geometry instanceof THREE.Geometry ) morphTargets = geometry.morphTargets;
+
+				if ( geometry instanceof THREE.BufferGeometry && geometry.morphAttributes !== undefined ) morphTargets = geometry.morphAttributes.position;
+
+				if ( morphTargets !== undefined && morphTargets.length > 0 ) useMorphing = true;
+
+			}
 
 			var useSkinning = object instanceof THREE.SkinnedMesh && material.skinning;