瀏覽代碼

Fixed incorrect shadow receiving for morphs.

alteredq 13 年之前
父節點
當前提交
de7e849018
共有 4 個文件被更改,包括 6 次插入2 次删除
  1. 0 0
      build/Three.js
  2. 0 0
      build/custom/ThreeWebGL.js
  3. 1 1
      examples/webgl_shadowmap.html
  4. 5 1
      src/renderers/WebGLShaders.js

文件差異過大導致無法顯示
+ 0 - 0
build/Three.js


文件差異過大導致無法顯示
+ 0 - 0
build/custom/ThreeWebGL.js


+ 1 - 1
examples/webgl_shadowmap.html

@@ -266,7 +266,7 @@
 					meshAnim.rotation.y = Math.PI/2;
 
 					meshAnim.castShadow = true;
-					meshAnim.receiveShadow = false;
+					meshAnim.receiveShadow = true;
 
 					scene.add( meshAnim );
 

+ 5 - 1
src/renderers/WebGLShaders.js

@@ -899,7 +899,11 @@ THREE.ShaderChunk = {
 
 			"for( int i = 0; i < MAX_SHADOWS; i ++ ) {",
 
-				"vShadowCoord[ i ] = shadowMatrix[ i ] * objectMatrix * vec4( position, 1.0 );",
+				"#ifdef USE_MORPHTARGETS",
+					"vShadowCoord[ i ] = shadowMatrix[ i ] * objectMatrix * vec4( morphed, 1.0 );",
+				"#else",
+					"vShadowCoord[ i ] = shadowMatrix[ i ] * objectMatrix * vec4( position, 1.0 );",
+				"#endif",
 
 			"}",
 

部分文件因文件數量過多而無法顯示