From ae3220e62b8dfe40737548ef1c7f2c30e9fcccd8 Mon Sep 17 00:00:00 2001 From: Miguel Pozo Date: Fri, 23 Feb 2024 18:33:56 +0100 Subject: [PATCH] Fix #112041: EEVEE-Next: Distant tranparent object shadow tagging Ensure dist_to_light is >0. Otherwise the log2 in lod selection falls into undefined behavior. --- .../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 8e4116877f9..738e622ff04 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 @@ -89,7 +89,7 @@ void shadow_tag_usage_tilemap_punctual( } vec3 lP = light_world_to_local(light, P - light._position); - float dist_to_light = length(lP) - radius; + float dist_to_light = max(length(lP) - radius, 1e-5); if (dist_to_light > light.influence_radius_max) { return; }