Просмотр исходного кода

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 7 лет назад
Родитель
Сommit
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;

粤ICP备19079148号