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-08-09 16:20:18 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-08-10 16:43:47 +0300
commit292f5ab7584d6e9ba54893eaafd70d9ee8d1c3ce (patch)
tree1e1a3180f5b5e939081513c3ae957e7e73702edd /source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl
parente0078cd953e67dcf12b9d48ec3625a33ff0d1a8c (diff)
Eevee: Correct Mipmap texel alignment.
Since we are working with non power of 2 textures, the mipmap level UV does not line up perfectly. This resulted in skewed filtering and bad sampling of the min/max depth buffer.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl')
-rw-r--r--source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl2
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl b/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl
index 855755adfe4..7afabfc5c3d 100644
--- a/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl
@@ -18,6 +18,8 @@ float sample_depth(vec2 uv, int index, float lod)
return textureLod(planarDepth, vec3(uv, index), 0.0).r;
}
else {
+ /* Correct UVs for mipmaping mis-alignment */
+ uv *= mipRatio[int(lod + 1.0)];
return textureLod(maxzBuffer, uv, lod).r;
}
}