Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2017-07-22 01:22:39 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-07-24 16:28:27 +0300
commit9906ef06b15e8aaee36858d10b419e7605cbd848 (patch)
treecf68b1dcd4f28e379511ed06ecd8fb48f5bd0ed0 /source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl
parenta3732412ad5b2adda8e820088fba76d3c8f6ea00 (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.glsl5
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++) {