From c0f23e79e3906143ac1b22fcb82d726aeeda949e Mon Sep 17 00:00:00 2001 From: Miguel Pozo Date: Tue, 5 Mar 2024 19:06:51 +0100 Subject: [PATCH] EEVEE-Next: More conservative shadow LOD selection Ensure shadow-maps at non-zero LODs cover <1 screen texel. This still doesn't solve projective aliasing, though. --- .../engines/eevee_next/shaders/eevee_shadow_tag_usage_lib.glsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/draw/engines/eevee_next/shaders/eevee_shadow_tag_usage_lib.glsl b/source/blender/draw/engines/eevee_next/shaders/eevee_shadow_tag_usage_lib.glsl index 738e622ff04..dc2680c15f4 100644 --- a/source/blender/draw/engines/eevee_next/shaders/eevee_shadow_tag_usage_lib.glsl +++ b/source/blender/draw/engines/eevee_next/shaders/eevee_shadow_tag_usage_lib.glsl @@ -132,7 +132,7 @@ void shadow_tag_usage_tilemap_punctual( lP = shadow_punctual_local_position_to_face_local(face_id, lP); ShadowCoordinates coord = shadow_punctual_coordinates(light, lP, face_id); - int lod = int(ceil(-log2(footprint_ratio) + tilemaps_buf[coord.tilemap_index].lod_bias)); + int lod = int(floor(-log2(footprint_ratio) + tilemaps_buf[coord.tilemap_index].lod_bias)); lod += lod_bias; lod = clamp(lod, 0, SHADOW_TILEMAP_LOD);