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>2018-09-11 17:15:34 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-09-11 17:15:43 +0300
commit5a7c3d5a0848a95ef0a4504dade459526f2d7d05 (patch)
tree5e073c57b22a7ce3a72746a7e75bf2df836363a8 /source/blender/draw/engines/eevee/shaders
parentaa5c543a7fe1fa1be95b6a09421a20617928d3b1 (diff)
Eevee: Prepare for fullres tracing
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders')
-rw-r--r--source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl5
-rw-r--r--source/blender/draw/engines/eevee/shaders/common_uniforms_lib.glsl2
-rw-r--r--source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl5
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
}