Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2021-02-09 04:02:18 +0300
committerClément Foucault <foucault.clem@gmail.com>2021-02-09 04:02:18 +0300
commit251ad8bf604e8d5af47ea86a33d7fda573096d34 (patch)
treeb913607d9754b2258c5c3e6e8790c350f7b42ac7 /source/blender/draw
parent7ca2427ce22d2a1a68d7b53e094f0756658beb77 (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.glsl6
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
}