diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-07-30 18:11:05 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-07-31 16:18:38 +0300 |
commit | 683e31fd80d36cffe4c65cfc0e973bb191889eee (patch) | |
tree | 2caa4f53f1ee8d203114e9636498cd8fabd2ea43 /source/blender/draw/engines/eevee/shaders/lightprobe_lib.glsl | |
parent | 39e1518d413a1af35b39a695b6a2e2d69fd2d35b (diff) |
Eevee: SSR: Rewrote the raytracing algorithm.
It now uses a quality slider instead of stride.
Lower quality takes larger strides between samples and use lower mips when tracing rough rays.
Now raytracing is done entierly in homogeneous coordinate space. This run much faster.
Should be fairly optimized. We are still Bandwidth bound.
Add a line-line intersection refine.
Add a ray jitter between the multiple ray per pixel to fill some undersampling in mirror reflections.
The tracing now stops if it goes behind an object. This needs some work to allow it to continue even if behind objects.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/lightprobe_lib.glsl')
-rw-r--r-- | source/blender/draw/engines/eevee/shaders/lightprobe_lib.glsl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/lightprobe_lib.glsl b/source/blender/draw/engines/eevee/shaders/lightprobe_lib.glsl index 93adc9483ad..0200b32d969 100644 --- a/source/blender/draw/engines/eevee/shaders/lightprobe_lib.glsl +++ b/source/blender/draw/engines/eevee/shaders/lightprobe_lib.glsl @@ -132,7 +132,7 @@ vec3 probe_evaluate_cube(float id, CubeData cd, vec3 W, vec3 R, float roughness) { /* Correct reflection ray using parallax volume intersection. */ vec3 localpos = transform_point(cd.parallaxmat, W); - vec3 localray = mat3(cd.parallaxmat) * R; + vec3 localray = transform_direction(cd.parallaxmat, R); float dist; if (cd.p_parallax_type == PROBE_PARALLAX_BOX) { |