diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-03-13 00:32:13 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-03-13 01:16:01 +0300 |
commit | 31fba57677aec38842809b22f25a0484cbff691b (patch) | |
tree | 3522b98698c68216221b6af23779ac4e050f10f6 /source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl | |
parent | 7187ae5ee10f4747570eca7964f8078d63de9b82 (diff) |
Fix T60802 Eevee: No diffuse when using Clearcoat + Add shader
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl')
-rw-r--r-- | source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl | 4 |
1 files changed, 3 insertions, 1 deletions
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; } |