From 14f490b932ad7b2009563c9ee21103b93143d0bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Fri, 16 Oct 2020 12:56:33 +0200 Subject: EEVEE: SSR: Fix unreported smoothstep instability when border factor is 0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From the GLSL documentation: `Results are undefined if edge0 ≥ edge1.` This is the case without this patch. --- source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender') diff --git a/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl b/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl index 39db39f8756..06a7def532f 100644 --- a/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl +++ b/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl @@ -258,7 +258,7 @@ float screen_border_mask(vec2 hit_co) { const float margin = 0.003; float atten = ssrBorderFac + margin; /* Screen percentage */ - hit_co = smoothstep(margin, atten, hit_co) * (1 - smoothstep(1.0 - atten, 1.0 - margin, hit_co)); + hit_co = smoothstep(0.0, atten, hit_co) * (1.0 - smoothstep(1.0 - atten, 1.0, hit_co)); float screenfade = hit_co.x * hit_co.y; -- cgit v1.2.3