Commit: 96138daa2bd4e82c7d326a5cfc2a6ba042a4a0dd
Author: Clément Foucault
Date:   Tue Jan 16 22:18:35 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB96138daa2bd4e82c7d326a5cfc2a6ba042a4a0dd

Eevee: SSR: Fix artifacts at object/background limits.

This should have a very small perf impact but it's needed.

===================================================================

M       source/blender/draw/engines/eevee/shaders/effect_ssr_frag.glsl

===================================================================

diff --git a/source/blender/draw/engines/eevee/shaders/effect_ssr_frag.glsl 
b/source/blender/draw/engines/eevee/shaders/effect_ssr_frag.glsl
index fef55d82e96..9043a4ca768 100644
--- a/source/blender/draw/engines/eevee/shaders/effect_ssr_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/effect_ssr_frag.glsl
@@ -97,9 +97,14 @@ void main()
 
        float depth = texelFetch(depthBuffer, fullres_texel, 0).r;
 
+       /* Default: not hits. */
+       hitData = encode_hit_data(vec2(0.5), false, false);
+       pdfData = 0.0;
+
        /* Early out */
+       /* We can't do discard because we don't clear the render target. */
        if (depth == 1.0)
-               discard;
+               return;
 
        vec2 uvs = vec2(fullres_texel) / vec2(textureSize(depthBuffer, 0));
 
@@ -113,17 +118,15 @@ void main()
 
        /* Early out */
        if (dot(speccol_roughness.rgb, vec3(1.0)) == 0.0)
-               discard;
+               return;
 
        float roughness = speccol_roughness.a;
        float roughnessSquared = max(1e-3, roughness * roughness);
        float a2 = roughnessSquared * roughnessSquared;
 
-       if (roughness > maxRoughness + 0.2) {
-               hitData = encode_hit_data(vec2(0.5), false, false);
-               pdfData = 0.0;
+       /* Early out */
+       if (roughness > maxRoughness + 0.2)
                return;
-       }
 
        vec4 rand = texelFetch(utilTex, ivec3(halfres_texel % LUT_SIZE, 2), 0);

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to