From 091b43367725f65d3c7f81400ec57624dfa70b3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Thu, 22 Oct 2020 00:20:06 +0200 Subject: Fix T77658 EEVEE: Reflection Plane partially missing reflections The degenerate line workaround was ill defined. --- source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source') diff --git a/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl b/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl index dbb5e660dab..db3497bd043 100644 --- a/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl +++ b/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl @@ -105,7 +105,9 @@ void prepare_raycast(vec3 ray_origin, /* If the line is degenerate, make it cover at least one pixel * to not have to handle zero-pixel extent as a special case later */ - ss_step.xy += vec2((dot(ss_step.xy, ss_step.xy) < 0.00001) ? 0.001 : 0.0); + if (dot(ss_step.xy, ss_step.xy) < 0.00001) { + ss_step.xy = vec2(0.0, 0.0001); + } /* Make ss_step cover one pixel. */ ss_step /= max(abs(ss_step.x), abs(ss_step.y)); -- cgit v1.2.3