[Bf-blender-cvs] [31fba57677a] master: Fix T60802 Eevee: No diffuse when using Clearcoat + Add shader
Clément Foucault
noreply at git.blender.org
Tue Mar 12 23:16:30 CET 2019
Commit: 31fba57677aec38842809b22f25a0484cbff691b
Author: Clément Foucault
Date: Tue Mar 12 22:32:13 2019 +0100
Branches: master
https://developer.blender.org/rB31fba57677aec38842809b22f25a0484cbff691b
Fix T60802 Eevee: No diffuse when using Clearcoat + Add shader
===================================================================
M source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
===================================================================
diff --git a/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl b/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
index 3155c6bef4c..ade19f4c7a8 100644
--- a/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
@@ -783,14 +783,16 @@ Closure closure_mix(Closure cl1, Closure cl2, float fac)
Closure closure_add(Closure cl1, Closure cl2)
{
Closure cl = (cl1.ssr_id == outputSsrId) ? cl1 : cl2;
+ cl.radiance = cl1.radiance + cl2.radiance;
# ifdef USE_SSS
cl.sss_data = (cl1.sss_data.a > 0.0) ? cl1.sss_data : cl2.sss_data;
+ /* Add radiance that was supposed to be filtered but was rejected. */
+ cl.radiance += (cl1.sss_data.a > 0.0) ? cl2.sss_data.rgb : cl1.sss_data.rgb;
# ifdef USE_SSS_ALBEDO
/* TODO Find a solution to this. Dither? */
cl.sss_albedo = (cl1.sss_data.a > 0.0) ? cl1.sss_albedo : cl2.sss_albedo;
# endif
# endif
- cl.radiance = cl1.radiance + cl2.radiance;
cl.opacity = saturate(cl1.opacity + cl2.opacity);
return cl;
}
More information about the Bf-blender-cvs
mailing list