diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2021-02-09 04:02:18 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2021-02-09 04:02:18 +0300 |
commit | 251ad8bf604e8d5af47ea86a33d7fda573096d34 (patch) | |
tree | b913607d9754b2258c5c3e6e8790c350f7b42ac7 /source/blender/draw | |
parent | 7ca2427ce22d2a1a68d7b53e094f0756658beb77 (diff) |
EEVEE: Fix issue with planar SSR
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/engines/eevee/shaders/closure_eval_glossy_lib.glsl | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/closure_eval_glossy_lib.glsl b/source/blender/draw/engines/eevee/shaders/closure_eval_glossy_lib.glsl index 532ff6c53aa..9d539ec5a48 100644 --- a/source/blender/draw/engines/eevee/shaders/closure_eval_glossy_lib.glsl +++ b/source/blender/draw/engines/eevee/shaders/closure_eval_glossy_lib.glsl @@ -75,7 +75,7 @@ void closure_Glossy_light_eval(ClosureInputGlossy cl_in, void closure_Glossy_planar_eval(ClosureInputGlossy cl_in, ClosureEvalGlossy cl_eval, - ClosureEvalCommon cl_common, + inout ClosureEvalCommon cl_common, ClosurePlanarData planar, inout ClosureOutputGlossy cl_out) { @@ -83,6 +83,10 @@ void closure_Glossy_planar_eval(ClosureInputGlossy cl_in, vec3 probe_radiance = probe_evaluate_planar( planar.id, planar.data, cl_common.P, cl_in.N, cl_common.V, cl_in.roughness); cl_out.radiance += planar.attenuation * probe_radiance; +#else + /* HACK: Fix an issue with planar reflections still being counted inside the specular + * accumulator. This only works because we only use one Glossy closure in the resolve pass. */ + cl_common.specular_accum += planar.attenuation; #endif } |