فهرست منبع

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.
Mr.doob 6 سال پیش
والد
کامیت
1128d601c1
1فایلهای تغییر یافته به همراه1 افزوده شده و 5 حذف شده
  1. 1 5
      src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js

+ 1 - 5
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 );
 		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.indirectSpecular += clearCoatInv * radiance * singleScattering;
 		reflectedLight.indirectDiffuse += multiScattering * cosineWeightedIrradiance;
 		reflectedLight.indirectDiffuse += multiScattering * cosineWeightedIrradiance;