From 1128d601c1b57eeee49678216bbb5dcabf8efc98 Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Mon, 27 May 2019 18:12:49 -0700 Subject: [PATCH] Revert "Diffuse color has already been calculated relative to the specular, so use that directly to fix dark fresnel for indirect specular lighting." This reverts commit d657787014ed57629f44132050d670ef3ff8ae1a. --- .../ShaderChunk/lights_physical_pars_fragment.glsl.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js b/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js index 533726b8152482..ba2bed2623f978 100644 --- a/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +++ b/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js @@ -128,11 +128,7 @@ void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradia BRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering ); - // The multiscattering paper uses the below formula for calculating diffuse - // for dielectrics, but this is already handled when initially computing the - // specular and diffuse color, so we can just use the diffuseColor directly. - //vec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) ); - vec3 diffuse = material.diffuseColor; + vec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) ); reflectedLight.indirectSpecular += clearCoatInv * radiance * singleScattering; reflectedLight.indirectDiffuse += multiScattering * cosineWeightedIrradiance;