diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-07-22 01:22:39 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-07-24 16:28:27 +0300 |
commit | 9906ef06b15e8aaee36858d10b419e7605cbd848 (patch) | |
tree | cf68b1dcd4f28e379511ed06ecd8fb48f5bd0ed0 /source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl | |
parent | a3732412ad5b2adda8e820088fba76d3c8f6ea00 (diff) |
Eevee: SSR: Use noise to dither the stride banding.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl')
-rw-r--r-- | source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl | 5 |
1 files changed, 4 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 36787153afc..d2a9b5843c5 100644 --- a/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl +++ b/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl @@ -22,7 +22,7 @@ void swapIfBigger(inout float a, inout float b) } /* Return the length of the ray if there is a hit, and -1.0 if not hit occured */ -float raycast(sampler2D depth_texture, vec3 ray_origin, vec3 ray_dir) +float raycast(sampler2D depth_texture, vec3 ray_origin, vec3 ray_dir, float ray_jitter) { float near = get_view_z_from_depth(0.0); /* TODO optimize */ @@ -95,6 +95,9 @@ float raycast(sampler2D depth_texture, vec3 ray_origin, vec3 ray_dir) * the step direction for a signed comparison */ float end = P1.x * step_sign; + /* Initial offset */ + pqk += dPQK * ray_jitter; + bool hit = false; float raw_depth; for (float hitstep = 0.0; hitstep < MAX_STEP && !hit; hitstep++) { |