From 40053f75d6e3219a66345d23ca20f68b66a62894 Mon Sep 17 00:00:00 2001 From: Dlizzio <77717521+Dlizzio@users.noreply.github.com> Date: Sat, 17 Jan 2026 09:34:32 -0700 Subject: [PATCH] chore(Linear Lighting): separate interior vs exterior directional light multipliers For compatibility with interior sun. --- src/Features/LinearLighting.cpp | 8 +++++--- src/Features/LinearLighting.h | 5 +++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/Features/LinearLighting.cpp b/src/Features/LinearLighting.cpp index c4bb82de7f..eb1c32fe50 100644 --- a/src/Features/LinearLighting.cpp +++ b/src/Features/LinearLighting.cpp @@ -22,7 +22,8 @@ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT( grassSpecularMult, vanillaDiffuseColorMult, lightMult, - directionalLightMult, + directionalLightMultExterior, + directionalLightMultInterior, pointLightMult, emitColorMult, glowmapMult, @@ -58,7 +59,8 @@ void LinearLighting::DrawSettings() ImGui::SliderFloat("Grass Specular Multiplier", &settings.grassSpecularMult, 0.0f, 10.0f, "%.2f"); ImGui::SliderFloat("Vanilla Diffuse Color Multiplier", &settings.vanillaDiffuseColorMult, 0.0f, 10.0f, "%.2f"); ImGui::SliderFloat("Light Multiplier", &settings.lightMult, 0.0f, 10.0f, "%.2f"); - ImGui::SliderFloat("Directional Light Multiplier", &settings.directionalLightMult, 0.0f, 10.0f, "%.2f"); + ImGui::SliderFloat("Exterior Directional Light Multiplier", &settings.directionalLightMultExterior, 0.0f, 10.0f, "%.2f"); + ImGui::SliderFloat("Interior Directional Light Multiplier", &settings.directionalLightMultInterior, 0.0f, 10.0f, "%.2f"); ImGui::SliderFloat("Point Light Multiplier", &settings.pointLightMult, 0.0f, 10.0f, "%.2f"); ImGui::SliderFloat("Emissive Color Multiplier", &settings.emitColorMult, 0.0f, 10.0f, "%.2f"); ImGui::SliderFloat("Glowmap Multiplier", &settings.glowmapMult, 0.0f, 10.0f, "%.2f"); @@ -157,7 +159,7 @@ LinearLighting::PerFrameData LinearLighting::GetCommonBufferData() data.grassSpecularMult = settings.grassSpecularMult; data.vanillaDiffuseColorMult = settings.vanillaDiffuseColorMult; data.lightMult = settings.lightMult; - data.directionalLightMult = settings.directionalLightMult; + data.directionalLightMult = Util::IsInterior() ? settings.directionalLightMultInterior : settings.directionalLightMultExterior; data.pointLightMult = settings.pointLightMult; data.emitColorMult = settings.emitColorMult; data.glowmapMult = settings.glowmapMult; diff --git a/src/Features/LinearLighting.h b/src/Features/LinearLighting.h index 8c7b26db41..632fa7f379 100644 --- a/src/Features/LinearLighting.h +++ b/src/Features/LinearLighting.h @@ -48,7 +48,8 @@ struct LinearLighting : Feature float grassSpecularMult = 0.32f; float vanillaDiffuseColorMult = 1.5f; float lightMult = 1.0f; - float directionalLightMult = 1.0f; + float directionalLightMultExterior = 1.0f; + float directionalLightMultInterior = 1.0f; float pointLightMult = 1.0f; float emitColorMult = 1.0f; float glowmapMult = 0.5f; @@ -86,7 +87,7 @@ struct LinearLighting : Feature float grassSpecularMult; float vanillaDiffuseColorMult; float lightMult; - float directionalLightMult; + float directionalLightMult; // Computed based on interior/exterior float pointLightMult; float emitColorMult; float glowmapMult;