diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-10-22 01:20:06 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-10-22 01:57:29 +0300 |
commit | 091b43367725f65d3c7f81400ec57624dfa70b3b (patch) | |
tree | 09675e32a979ec7494af2ba85d93db1953168482 /source | |
parent | e1eaf9e2b4ef85f0f899d1429200fe51c5625c2a (diff) |
Fix T77658 EEVEE: Reflection Plane partially missing reflections
The degenerate line workaround was ill defined.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl | 4 |
1 files changed, 3 insertions, 1 deletions
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)); |