From ec18d046a9cf0f6f003acb98be9e01f9b451cbc4 Mon Sep 17 00:00:00 2001 From: "Day, Mike (NBCUniversal)" Date: Thu, 14 May 2026 17:01:50 -0700 Subject: [PATCH 1/2] MOONRAY-6048 (#2270) * Fix bug * Formatting changes * Vectorise (cherry picked from commit a567f6f042f8cf30b0b29f542fcb66d6ea354db9) Signed-off-by: Jon Lanz --- lib/rendering/pbr/light/DistantLight.cc | 2 +- lib/rendering/pbr/light/DistantLight.ispc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/rendering/pbr/light/DistantLight.cc b/lib/rendering/pbr/light/DistantLight.cc index 41e6546..6756fd8 100644 --- a/lib/rendering/pbr/light/DistantLight.cc +++ b/lib/rendering/pbr/light/DistantLight.cc @@ -160,7 +160,7 @@ DistantLight::uvToLocal(const Vec2f &uv) const const float v1 = uv.y - 0.5f; const float z = -1.0f + mUvToLocalConst * (u1*u1 + v1*v1); - const float scale = -scene_rdl2::math::sqrt(mUvToLocalConst * (1.0f - z)); + const float scale = -scene_rdl2::math::sqrt(mUvToLocalConst * (1.0f + z)); const float x = u1 * scale; const float y = v1 * scale; diff --git a/lib/rendering/pbr/light/DistantLight.ispc b/lib/rendering/pbr/light/DistantLight.ispc index 6071d2d..d5ef12b 100644 --- a/lib/rendering/pbr/light/DistantLight.ispc +++ b/lib/rendering/pbr/light/DistantLight.ispc @@ -46,7 +46,7 @@ DistantLight_uvToLocal(const uniform DistantLight * uniform light, const varying float v1 = uv.y - 0.5f; const varying float z = -1.0f + light->mUvToLocalConst * (u1*u1 + v1*v1); - const varying float scale = -sqrt(light->mUvToLocalConst * (1.0f - z)); + const varying float scale = -sqrt(light->mUvToLocalConst * (1.0f + z)); const varying float x = u1 * scale; const varying float y = v1 * scale; From 91a4d612259c35c122b02d5dae9a01dc52ed7299 Mon Sep 17 00:00:00 2001 From: Jon Lanz Date: Tue, 1 Sep 2026 10:10:28 -0700 Subject: [PATCH 2/2] Fix bad cherry-pick conflict resolution Signed-off-by: Jon Lanz --- lib/rendering/pbr/light/DistantLight.cc | 2 +- lib/rendering/pbr/light/DistantLight.ispc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/rendering/pbr/light/DistantLight.cc b/lib/rendering/pbr/light/DistantLight.cc index 6756fd8..41e6546 100644 --- a/lib/rendering/pbr/light/DistantLight.cc +++ b/lib/rendering/pbr/light/DistantLight.cc @@ -160,7 +160,7 @@ DistantLight::uvToLocal(const Vec2f &uv) const const float v1 = uv.y - 0.5f; const float z = -1.0f + mUvToLocalConst * (u1*u1 + v1*v1); - const float scale = -scene_rdl2::math::sqrt(mUvToLocalConst * (1.0f + z)); + const float scale = -scene_rdl2::math::sqrt(mUvToLocalConst * (1.0f - z)); const float x = u1 * scale; const float y = v1 * scale; diff --git a/lib/rendering/pbr/light/DistantLight.ispc b/lib/rendering/pbr/light/DistantLight.ispc index d5ef12b..6071d2d 100644 --- a/lib/rendering/pbr/light/DistantLight.ispc +++ b/lib/rendering/pbr/light/DistantLight.ispc @@ -46,7 +46,7 @@ DistantLight_uvToLocal(const uniform DistantLight * uniform light, const varying float v1 = uv.y - 0.5f; const varying float z = -1.0f + light->mUvToLocalConst * (u1*u1 + v1*v1); - const varying float scale = -sqrt(light->mUvToLocalConst * (1.0f + z)); + const varying float scale = -sqrt(light->mUvToLocalConst * (1.0f - z)); const varying float x = u1 * scale; const varying float y = v1 * scale;