From d951cd332f80de55d18824e9a82b2efe90a4266a Mon Sep 17 00:00:00 2001 From: Santi Paprika Date: Fri, 3 Dec 2021 22:06:29 +0100 Subject: [PATCH] Consider default thickness value for quadlight fast approx mode Signed-off-by: Santi Paprika --- .../Atom/Features/PBR/Lights/QuadLight.azsli | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/QuadLight.azsli b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/QuadLight.azsli index 63515339d8..a4ef25572d 100644 --- a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/QuadLight.azsli +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/QuadLight.azsli @@ -148,13 +148,14 @@ void ApplyQuadLight(ViewSrg::QuadLight light, Surface surface, inout LightingDat GetDiffuseLighting(surface, lightingData, intensity, dirToLightCenter) ); + float nullTransmissionDistance = (o_transmission_mode == TransmissionMode::ThickObject) ? 0.0f : 9999.0f; lightingData.translucentBackLighting += ( - GetBackLighting(surface, lightingData, intensity, p0, 0.0) + - GetBackLighting(surface, lightingData, intensity, p1, 0.0) + - GetBackLighting(surface, lightingData, intensity, p2, 0.0) + - GetBackLighting(surface, lightingData, intensity, p3, 0.0) + - GetBackLighting(surface, lightingData, intensity, dirToLightCenter, 0.0) + GetBackLighting(surface, lightingData, intensity, p0, nullTransmissionDistance) + + GetBackLighting(surface, lightingData, intensity, p1, nullTransmissionDistance) + + GetBackLighting(surface, lightingData, intensity, p2, nullTransmissionDistance) + + GetBackLighting(surface, lightingData, intensity, p3, nullTransmissionDistance) + + GetBackLighting(surface, lightingData, intensity, dirToLightCenter, nullTransmissionDistance) ); // Calculate specular by choosing a single representative point on the light's surface based on the reflection ray