summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2019-05-07 16:32:34 -0700
committerGraham Linden <graham@lindenlab.com>2019-05-07 16:32:34 -0700
commit989de25f189276d586d5c7077e505bc697fe4112 (patch)
tree8994d26f8bb74e818f8d52b09956b60900d1dd04
parentd3cf82969a6bf63585eba58d50223fec5e32a502 (diff)
SL-11086
Re-fix sun/moon glow factor and make it depend on moon brightness. Make cloud shaders use sunlight color exclusively for consistency when moon is up or down.
-rw-r--r--indra/llinventory/llsettingssky.cpp19
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl5
-rw-r--r--indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl3
3 files changed, 7 insertions, 20 deletions
diff --git a/indra/llinventory/llsettingssky.cpp b/indra/llinventory/llsettingssky.cpp
index def492c203..cfca2d0d78 100644
--- a/indra/llinventory/llsettingssky.cpp
+++ b/indra/llinventory/llsettingssky.cpp
@@ -953,21 +953,8 @@ void LLSettingsSky::updateSettings()
F32 LLSettingsSky::getSunMoonGlowFactor() const
{
- // sun glow at full iff moon is not up
- if (getIsSunUp())
- {
- if (!getIsMoonUp())
- {
- return 1.0f;
- }
- }
-
- if (getIsMoonUp())
- {
- return 0.25f;
- }
-
- return 0.0f;
+ return getIsSunUp() ? 1.0f :
+ getIsMoonUp() ? getMoonBrightness() * 0.25 : 0.0f;
}
bool LLSettingsSky::getIsSunUp() const
@@ -1302,7 +1289,7 @@ void LLSettingsSky::calculateLightSettings() const
mMoonDiffuse = gammaCorrect(componentMult(moonlight, light_transmittance) * moon_brightness);
mMoonAmbient = gammaCorrect(componentMult(moonlight_b, light_transmittance) * 0.0125f);
- mTotalAmbient = mSunAmbient + mMoonAmbient;
+ mTotalAmbient = mSunAmbient;
}
LLUUID LLSettingsSky::GetDefaultAssetId()
diff --git a/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl b/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl
index f1eb1af90c..aed5a9b950 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl
@@ -99,7 +99,8 @@ void main()
vec4 temp2 = vec4(0.);
vec4 blue_weight;
vec4 haze_weight;
- vec4 sunlight = (sun_up_factor == 1) ? sunlight_color : moonlight_color;
+ //vec4 sunlight = (sun_up_factor == 1) ? sunlight_color : moonlight_color;
+ vec4 sunlight = sunlight_color;
vec4 light_atten;
float dens_mul = density_multiplier * 0.45;
@@ -156,8 +157,6 @@ void main()
);
// CLOUDS
-
- sunlight = sunlight_color;
temp2.y = max(0., lightnorm.y * 2.);
temp2.y = 1. / temp2.y;
sunlight *= exp( - light_atten * temp2.y);
diff --git a/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl b/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl
index aaf995af3c..5c29290e47 100644
--- a/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl
+++ b/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl
@@ -101,7 +101,8 @@ void main()
vec4 temp2 = vec4(0.);
vec4 blue_weight;
vec4 haze_weight;
- vec4 sunlight = (sun_up_factor == 1) ? sunlight_color : moonlight_color;
+ //vec4 sunlight = (sun_up_factor == 1) ? sunlight_color : moonlight_color;
+ vec4 sunlight = sunlight_color;
vec4 light_atten;
float dens_mul = density_multiplier;