EEVEE-Next: Shadow: Use atan_fast instead of atan

This commit is contained in:
Clément Foucault
2024-05-09 13:45:54 +02:00
parent 8e39b2d095
commit 1c97e97aef

View File

@@ -8,6 +8,7 @@
#pragma BLENDER_REQUIRE(gpu_shader_math_base_lib.glsl)
#pragma BLENDER_REQUIRE(gpu_shader_math_matrix_lib.glsl)
#pragma BLENDER_REQUIRE(gpu_shader_math_fast_lib.glsl)
#pragma BLENDER_REQUIRE(eevee_light_lib.glsl)
#pragma BLENDER_REQUIRE(eevee_shadow_lib.glsl)
#pragma BLENDER_REQUIRE(eevee_sampling_lib.glsl)
@@ -162,7 +163,7 @@ ShadowRayDirectional shadow_ray_generate_directional(
float dist_to_near_plane = -lP.z - clip_near;
/* Trace in a radius that is covered by low resolution page inflation. */
float max_tracing_distance = texel_radius * float(SHADOW_PAGE_RES << SHADOW_TILEMAP_LOD);
float max_tracing_angle = atan(max_tracing_distance / dist_to_near_plane);
float max_tracing_angle = atan_fast(max_tracing_distance / dist_to_near_plane);
float shadow_angle = min(light_sun_data_get(light).shadow_angle, max_tracing_angle);
/* Light shape is 1 unit away from the shading point. */