From 709bca5849f2d06dc6611dee6babf1640e1f491b Mon Sep 17 00:00:00 2001 From: mriegger Date: Wed, 16 Jun 2021 20:15:08 -0700 Subject: [PATCH] Adding code that prevents nans occuring due to precision issues --- .../Common/Assets/ShaderLib/Atom/Features/Shadow/Shadow.azsli | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/Shadow/Shadow.azsli b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/Shadow/Shadow.azsli index d267a74b36..138ea38562 100644 --- a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/Shadow/Shadow.azsli +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/Shadow/Shadow.azsli @@ -79,9 +79,9 @@ float4 Shadow::GetJitterUnitVectorDepthDiffBase( return float4(0., 0., 0., 0.); } const float3 v_M = v_M0 / v_M0_length; - const float cosTheta = dot(normalVector, v_M); + const float cosTheta = saturate(dot(normalVector, v_M)); const float sinTheta = sqrt(1 - cosTheta * cosTheta); - if (sinTheta == 0.) + if (sinTheta < 0.001) { return float4(0., 0., 0., 0.); }