diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-09-11 17:15:34 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-09-11 17:15:43 +0300 |
commit | 5a7c3d5a0848a95ef0a4504dade459526f2d7d05 (patch) | |
tree | 5e073c57b22a7ce3a72746a7e75bf2df836363a8 /source/blender/draw/engines/eevee/shaders | |
parent | aa5c543a7fe1fa1be95b6a09421a20617928d3b1 (diff) |
Eevee: Prepare for fullres tracing
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders')
3 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl b/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl index fae310be90b..bda3c648bb6 100644 --- a/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl +++ b/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl @@ -60,8 +60,9 @@ vec2 get_ao_dir(float jitter) void get_max_horizon_grouped(vec4 co1, vec4 co2, vec3 x, float lod, inout float h) { - co1 *= mipRatio[int(lod + 1.0)].xyxy; /* +1 because we are using half res top level */ - co2 *= mipRatio[int(lod + 1.0)].xyxy; /* +1 because we are using half res top level */ + int mip = int(lod) + hizMipOffset; + co1 *= mipRatio[mip].xyxy; + co2 *= mipRatio[mip].xyxy; float depth1 = textureLod(maxzBuffer, co1.xy, floor(lod)).r; float depth2 = textureLod(maxzBuffer, co1.zw, floor(lod)).r; diff --git a/source/blender/draw/engines/eevee/shaders/common_uniforms_lib.glsl b/source/blender/draw/engines/eevee/shaders/common_uniforms_lib.glsl index d6abb7dc175..1666d766225 100644 --- a/source/blender/draw/engines/eevee/shaders/common_uniforms_lib.glsl +++ b/source/blender/draw/engines/eevee/shaders/common_uniforms_lib.glsl @@ -36,6 +36,8 @@ layout(std140) uniform common_block { int prbIrradianceVisSize; float prbLodCubeMax; float prbLodPlanarMax; + /* Misc*/ + int hizMipOffset; }; /* aoParameters */ diff --git a/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl b/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl index d035a4329b1..7dd460004ae 100644 --- a/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl +++ b/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl @@ -9,10 +9,7 @@ float sample_depth(vec2 uv, int index, float lod) else { #endif /* Correct UVs for mipmaping mis-alignment */ - /* + 1.0 because we are using half res maxzBuffer - * and mipRatio starts at on mip 0. */ - int mip = int(lod + 1.0); - uv *= mipRatio[mip]; + uv *= mipRatio[int(lod) + hizMipOffset]; return textureLod(maxzBuffer, uv, lod).r; #ifdef PLANAR_PROBE_RAYTRACE } |