浏览代码

Change ambient occlusion such that it affects environment irradiance

Gary Hsu 8 年之前
父节点
当前提交
aa71f3394e
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      src/Shaders/pbr.fragment.fx

+ 2 - 2
src/Shaders/pbr.fragment.fx

@@ -643,9 +643,9 @@ void main(void) {
 	// Composition
 	// Reflection already includes the environment intensity.
 #ifdef EMISSIVEASILLUMINATION
-	vec4 finalColor = vec4(finalDiffuse * ambientColor * vLightingIntensity.x + surfaceAlbedo.rgb * environmentIrradiance + finalSpecular * vLightingIntensity.x + environmentRadiance + surfaceEmissiveColor * vLightingIntensity.y + refractance, alpha);
+	vec4 finalColor = vec4((finalDiffuse * vLightingIntensity.x + surfaceAlbedo.rgb * environmentIrradiance) * ambientColor + finalSpecular * vLightingIntensity.x + environmentRadiance + surfaceEmissiveColor * vLightingIntensity.y + refractance, alpha);
 #else
-	vec4 finalColor = vec4(finalDiffuse * ambientColor * vLightingIntensity.x + surfaceAlbedo.rgb * environmentIrradiance + finalSpecular * vLightingIntensity.x + environmentRadiance + refractance, alpha);
+	vec4 finalColor = vec4((finalDiffuse * vLightingIntensity.x + surfaceAlbedo.rgb * environmentIrradiance) * ambientColor + finalSpecular * vLightingIntensity.x + environmentRadiance + refractance, alpha);
 #endif
 
 #ifdef LIGHTMAP