Fix T55620 Artifacts with SSR and planar reflection
authorClément Foucault <foucault.clem@gmail.com>
Fri, 15 Mar 2019 22:31:41 +0000 (23:31 +0100)
committerClément Foucault <foucault.clem@gmail.com>
Fri, 15 Mar 2019 22:31:41 +0000 (23:31 +0100)
Was caused by 0 pixel extent rays which did not trace at all. Bumping the
threshold for degenerate rays fixes it.

source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl

index d5a51f8..8038940 100644 (file)
@@ -91,7 +91,7 @@ void prepare_raycast(
 
        /* 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.000001) ? 0.001 : 0.0);
+       ss_step.xy += vec2((dot(ss_step.xy, ss_step.xy) < 0.000003) ? 0.001 : 0.0);
 
        /* Make ss_step cover one pixel. */
        ss_step /= max(abs(ss_step.x), abs(ss_step.y));