|
@@ -1357,25 +1357,27 @@ THREE.ShaderChunk = {
|
|
|
|
|
|
"#ifdef USE_SHADOWMAP",
|
|
"#ifdef USE_SHADOWMAP",
|
|
|
|
|
|
- "for( int i = 0; i < MAX_SHADOWS; i ++ ) {",
|
|
|
|
|
|
+ "vec4 transformedPosition;",
|
|
|
|
|
|
- "#ifdef USE_MORPHTARGETS",
|
|
|
|
|
|
+ "#ifdef USE_MORPHTARGETS",
|
|
|
|
|
|
- "vShadowCoord[ i ] = shadowMatrix[ i ] * objectMatrix * vec4( morphed, 1.0 );",
|
|
|
|
|
|
+ "transformedPosition = objectMatrix * vec4( morphed, 1.0 );",
|
|
|
|
|
|
- "#else",
|
|
|
|
|
|
+ "#else",
|
|
|
|
+ "#ifdef USE_SKINNING",
|
|
|
|
|
|
- "#ifdef USE_SKINNING",
|
|
|
|
|
|
+ "transformedPosition = objectMatrix * skinned;",
|
|
|
|
|
|
- "vShadowCoord[ i ] = shadowMatrix[ i ] * objectMatrix * skinned;",
|
|
|
|
|
|
+ "#else",
|
|
|
|
|
|
- "#else",
|
|
|
|
|
|
+ "transformedPosition = objectMatrix * vec4( position, 1.0 );",
|
|
|
|
|
|
- "vShadowCoord[ i ] = shadowMatrix[ i ] * objectMatrix * vec4( position, 1.0 );",
|
|
|
|
|
|
+ "#endif",
|
|
|
|
+ "#endif",
|
|
|
|
|
|
- "#endif",
|
|
|
|
|
|
+ "for( int i = 0; i < MAX_SHADOWS; i ++ ) {",
|
|
|
|
|
|
- "#endif",
|
|
|
|
|
|
+ "vShadowCoord[ i ] = shadowMatrix[ i ] * transformedPosition;",
|
|
|
|
|
|
"}",
|
|
"}",
|
|
|
|
|