From 685817888e2fffbfe04f0ea7efa63d0bcf8924d4 Mon Sep 17 00:00:00 2001 From: Miguel Pozo Date: Fri, 21 Jun 2024 18:32:53 +0200 Subject: [PATCH] Fix #121629: EEVEE : Transparent shadow tagging performance in ortho view --- .../eevee_next/shaders/eevee_shadow_tag_usage_frag.glsl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/blender/draw/engines/eevee_next/shaders/eevee_shadow_tag_usage_frag.glsl b/source/blender/draw/engines/eevee_next/shaders/eevee_shadow_tag_usage_frag.glsl index 09a30ba2369..753e4f71010 100644 --- a/source/blender/draw/engines/eevee_next/shaders/eevee_shadow_tag_usage_frag.glsl +++ b/source/blender/draw/engines/eevee_next/shaders/eevee_shadow_tag_usage_frag.glsl @@ -98,6 +98,12 @@ void main() * The inflated bounds can cause unnecessary extra steps. */ float ls_near_box_t = ray_aabb( ls_near_plane, ls_view_direction, interp_flat.ls_aabb_min, interp_flat.ls_aabb_max); + + if (ls_near_box_t < 0.0) { + /* The ray cast can fail in ortho mode due to numerical precision. (See #121629) */ + return; + } + vec3 ls_near_box = ls_near_plane + ls_view_direction * ls_near_box_t; vec3 ws_near_box = drw_point_object_to_world(ls_near_box);