From 8999a37cf1689d1acfd3c1a2bdc15d9d488f99f4 Mon Sep 17 00:00:00 2001 From: Tim <15017472+doodlum@users.noreply.github.com> Date: Mon, 10 Mar 2025 01:36:37 +0000 Subject: [PATCH 1/2] fix(skylighting): fix visual inconsistencies --- package/Shaders/AmbientCompositeCS.hlsl | 4 ++-- package/Shaders/Lighting.hlsl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/Shaders/AmbientCompositeCS.hlsl b/package/Shaders/AmbientCompositeCS.hlsl index efdd5c6b6e..4b7a6c5c4c 100644 --- a/package/Shaders/AmbientCompositeCS.hlsl +++ b/package/Shaders/AmbientCompositeCS.hlsl @@ -79,9 +79,9 @@ void SampleSSGI(uint2 pixCoord, float3 normalWS, out float ao, out float3 il) float skylightingDiffuse = SphericalHarmonics::FuncProductIntegral(skylightingSH, SphericalHarmonics::EvaluateCosineLobe(skylightingNormal)) / Math::PI; skylightingDiffuse = saturate(skylightingDiffuse); - skylightingDiffuse *= 1.0 + saturate(normalWS.z) * (1.0 - SharedData::skylightingSettings.MinDiffuseVisibility); - skylightingDiffuse = lerp(1.0, skylightingDiffuse, Skylighting::getFadeOutFactor(positionMS.xyz)); + + skylightingDiffuse *= 1.0 + saturate(normalWS.z) * (1.0 - SharedData::skylightingSettings.MinDiffuseVisibility); skylightingDiffuse = Skylighting::mixDiffuse(SharedData::skylightingSettings, skylightingDiffuse); diff --git a/package/Shaders/Lighting.hlsl b/package/Shaders/Lighting.hlsl index d52cfa5435..d7331595be 100644 --- a/package/Shaders/Lighting.hlsl +++ b/package/Shaders/Lighting.hlsl @@ -2461,7 +2461,7 @@ PS_OUTPUT main(PS_INPUT input, bool frontFace if (Permutation::ExtraShaderDescriptor & Permutation::ExtraFlags::IsTree) { // Remove AO float3 originalVertexColor = vertexColor; - vertexColor = vertexColor / vertexAO; + vertexColor = lerp(vertexColor, vertexColor / vertexAO, sqrt(vertexAO)); vertexColor = lerp(input.Color.xyz, vertexColor, skylightingFadeOutFactor); // Apply AO to direct lighting only From 170849525890e29a52cb1bb6feef5fd85892d1a8 Mon Sep 17 00:00:00 2001 From: doodlum Date: Mon, 10 Mar 2025 01:38:29 +0000 Subject: [PATCH 2/2] =?UTF-8?q?style:=20=F0=9F=8E=A8=20apply=20clang-forma?= =?UTF-8?q?t=20changes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package/Shaders/AmbientCompositeCS.hlsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/Shaders/AmbientCompositeCS.hlsl b/package/Shaders/AmbientCompositeCS.hlsl index 4b7a6c5c4c..629697c867 100644 --- a/package/Shaders/AmbientCompositeCS.hlsl +++ b/package/Shaders/AmbientCompositeCS.hlsl @@ -80,7 +80,7 @@ void SampleSSGI(uint2 pixCoord, float3 normalWS, out float ao, out float3 il) skylightingDiffuse = saturate(skylightingDiffuse); skylightingDiffuse = lerp(1.0, skylightingDiffuse, Skylighting::getFadeOutFactor(positionMS.xyz)); - + skylightingDiffuse *= 1.0 + saturate(normalWS.z) * (1.0 - SharedData::skylightingSettings.MinDiffuseVisibility); skylightingDiffuse = Skylighting::mixDiffuse(SharedData::skylightingSettings, skylightingDiffuse);