瀏覽代碼

fixed specular wrong computation

David Catuhe 8 年之前
父節點
當前提交
6cc2058d4b

文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/babylon.core.js


文件差異過大導致無法顯示
+ 1196 - 1196
dist/preview release/babylon.d.ts


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/babylon.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/babylon.max.js


文件差異過大導致無法顯示
+ 1196 - 1196
dist/preview release/babylon.module.d.ts


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/babylon.noworker.js


+ 2 - 2
src/Shaders/ShadersInclude/lightsFragmentFunctions.fx

@@ -30,7 +30,7 @@ lightingInfo computeLighting(vec3 viewDirectionW, vec3 vNormal, vec4 lightData,
 
 #ifdef SPECULARTERM
 	// Specular
-	vec3 angleW = normalize(lightVectorW - viewDirectionW);
+	vec3 angleW = normalize(viewDirectionW + lightVectorW);
 	float specComp = max(0., dot(vNormal, angleW));
 	specComp = pow(specComp, max(1., glossiness));
 
@@ -60,7 +60,7 @@ lightingInfo computeSpotLighting(vec3 viewDirectionW, vec3 vNormal, vec4 lightDa
 
 #ifdef SPECULARTERM
 		// Specular
-		vec3 angleW = normalize(lightVectorW - viewDirectionW);
+		vec3 angleW = normalize(viewDirectionW + lightVectorW);
 		float specComp = max(0., dot(vNormal, angleW));
 		specComp = pow(specComp, max(1., glossiness));