浏览代码

Fixed skin shader lighting.

tschw 10 年之前
父节点
当前提交
d37516be39
共有 1 个文件被更改,包括 5 次插入5 次删除
  1. 5 5
      examples/js/ShaderSkin.js

+ 5 - 5
examples/js/ShaderSkin.js

@@ -222,7 +222,7 @@ THREE.ShaderSkin = {
 
 
 					"for( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {",
 					"for( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {",
 
 
-						"vec3 dirVector = transformDirection( directionalLightDirection[ i ], viewMatrix );",
+						"vec3 dirVector = directionalLightDirection[ i ];",
 
 
 						"float dirDiffuseWeightFull = max( dot( normal, dirVector ), 0.0 );",
 						"float dirDiffuseWeightFull = max( dot( normal, dirVector ), 0.0 );",
 						"float dirDiffuseWeightHalf = max( 0.5 * dot( normal, dirVector ) + 0.5, 0.0 );",
 						"float dirDiffuseWeightHalf = max( 0.5 * dot( normal, dirVector ) + 0.5, 0.0 );",
@@ -243,7 +243,7 @@ THREE.ShaderSkin = {
 
 
 					"for ( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {",
 					"for ( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {",
 
 
-						"vec3 lVector = transformDirection( hemisphereLightDirection[ i ], viewMatrix );",
+						"vec3 lVector = hemisphereLightDirection[ i ];",
 
 
 						"float dotProduct = dot( normal, lVector );",
 						"float dotProduct = dot( normal, lVector );",
 						"float hemiDiffuseWeight = 0.5 * dotProduct + 0.5;",
 						"float hemiDiffuseWeight = 0.5 * dotProduct + 0.5;",
@@ -497,7 +497,7 @@ THREE.ShaderSkin = {
 
 
 					"for( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {",
 					"for( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {",
 
 
-						"vec3 dirVector = transformDirection( directionalLightDirection[ i ], viewMatrix );",
+						"vec3 dirVector = directionalLightDirection[ i ];",
 
 
 						"float dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );",
 						"float dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );",
 
 
@@ -626,7 +626,7 @@ THREE.ShaderSkin = {
 
 
 					"for( int i = 0; i < MAX_POINT_LIGHTS; i++ ) {",
 					"for( int i = 0; i < MAX_POINT_LIGHTS; i++ ) {",
 
 
-						"vec3 lVector = pointLightPosition[ i ] - mvPosition.xyz;",
+						"vec3 lVector = pointLightPosition[ i ] - vViewPosition;",
 
 
 						"float attenuation = calcLightAttenuation( length( lVector ), pointLightDistance[ i ], pointLightDecay[i] );",
 						"float attenuation = calcLightAttenuation( length( lVector ), pointLightDistance[ i ], pointLightDecay[i] );",
 
 
@@ -713,7 +713,7 @@ THREE.ShaderSkin = {
 
 
 					"for( int i = 0; i < MAX_POINT_LIGHTS; i++ ) {",
 					"for( int i = 0; i < MAX_POINT_LIGHTS; i++ ) {",
 
 
-						"vec3 lVector = pointLightPosition[ i ] - mvPosition.xyz;",
+						"vec3 lVector = pointLightPosition[ i ] - vViewPosition;",
 
 
 						"float attenuation = calcLightAttenuation( length( lVector ), pointLightDistance[ i ], pointLightDecay[i] );",
 						"float attenuation = calcLightAttenuation( length( lVector ), pointLightDistance[ i ], pointLightDecay[i] );",