浏览代码

fixing irradiance negative value when having a metallic texture

Benjamin Guignabert 4 年之前
父节点
当前提交
57aa0abdbb
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      src/Shaders/pbr.fragment.fx

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

@@ -567,7 +567,7 @@ void main(void) {
             float scatteringDiffusionProfile = 255.;
         #endif
 
-        gl_FragData[PREPASS_IRRADIANCE_INDEX] = vec4(irradiance, scatteringDiffusionProfile / 255.); // Irradiance + SS diffusion profile
+        gl_FragData[PREPASS_IRRADIANCE_INDEX] = vec4(clamp(irradiance, vec3(0.), vec3(1.)), scatteringDiffusionProfile / 255.); // Irradiance + SS diffusion profile
     #else
         gl_FragData[0] = vec4(finalColor.rgb, finalColor.a);
     #endif