summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Houlton <euclid@lindenlab.com>2020-08-28 09:50:01 -0600
committerDave Houlton <euclid@lindenlab.com>2020-08-28 09:50:01 -0600
commit7396879ef6ba11ea387bb799b4ab89c82e569f45 (patch)
tree78274a184ec97a6b3d8c1228775529f23bee1f3f
parent798457fbdd3ae88f96a456bab708cd8193cfde3d (diff)
SL-13768 remove moon glow from sky and clouds
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl3
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/skyV.glsl3
-rw-r--r--indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl3
-rw-r--r--indra/newview/app_settings/shaders/class2/windlight/skyV.glsl5
-rw-r--r--indra/newview/lldrawpoolwlsky.cpp3
5 files changed, 11 insertions, 6 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl b/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl
index 495daa2db6..b9c19981d2 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl
@@ -161,7 +161,8 @@ void main()
temp2.x *= sun_moon_glow_factor;
// Add "minimum anti-solar illumination"
- temp2.x += .25;
+ // For sun, add to glow. For moon, remove glow entirely. SL-13768
+ temp2.x = (sun_moon_glow_factor < 1.0) ? 0.0 : (temp2.x + 0.25);
// Increase ambient when there are more clouds
vec4 tmpAmbient = ambient_color;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl b/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl
index ead754ec76..f779cf54ce 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl
@@ -131,7 +131,8 @@ void main()
// glow.z should be negative, so we're doing a sort of (1 / "angle") function
// Add "minimum anti-solar illumination"
- temp2.x += .25;
+ // For sun, add to glow. For moon, remove glow entirely. SL-13768
+ temp2.x = (sun_moon_glow_factor < 1.0) ? 0.0 : (temp2.x + 0.25);
vec4 color = ( blue_horizon * blue_weight * (sunlight + ambient_color)
+ (haze_horizon * haze_weight) * (sunlight * temp2.x + ambient_color)
diff --git a/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl b/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl
index a4389f62dc..7d736b8fcc 100644
--- a/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl
+++ b/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl
@@ -161,7 +161,8 @@ void main()
temp2.x *= sun_moon_glow_factor;
// Add "minimum anti-solar illumination"
- temp2.x += .25;
+ // For sun, add to glow. For moon, remove glow entirely. SL-13768
+ temp2.x = (sun_moon_glow_factor < 1.0) ? 0.0 : (temp2.x + 0.25);
// Increase ambient when there are more clouds
vec4 tmpAmbient = ambient_color;
diff --git a/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl b/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl
index 0d141342ce..1361f6a11d 100644
--- a/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl
+++ b/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl
@@ -127,7 +127,8 @@ void main()
// glow.z should be negative, so we're doing a sort of (1 / "angle") function
// Add "minimum anti-solar illumination"
- temp2.x += .25;
+ // For sun, add to glow. For moon, remove glow entirely. SL-13768
+ temp2.x = (sun_moon_glow_factor < 1.0) ? 0.0 : (temp2.x + 0.25);
vec4 color = ( blue_horizon * blue_weight * (sunlight + ambient_color)
+ (haze_horizon * haze_weight) * (sunlight * temp2.x + ambient_color)
@@ -156,6 +157,6 @@ void main()
color += (additiveColorBelowCloud - color) * (1. - sqrt(temp1));
// Haze color above cloud
- vary_HazeColor = color;
+ vary_HazeColor = color;
}
diff --git a/indra/newview/lldrawpoolwlsky.cpp b/indra/newview/lldrawpoolwlsky.cpp
index fbac523ff0..b0eb1a405b 100644
--- a/indra/newview/lldrawpoolwlsky.cpp
+++ b/indra/newview/lldrawpoolwlsky.cpp
@@ -216,10 +216,11 @@ void LLDrawPoolWLSky::renderSkyHaze(const LLVector3& camPosLocal, F32 camHeightL
if (gPipeline.canUseWindLightShaders() && gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_SKY))
{
+ LLSettingsSky::ptr_t psky = LLEnvironment::instance().getCurrentSky();
LLGLSPipelineDepthTestSkyBox sky(true, false);
sky_shader->bind();
sky_shader->uniform1i(LLShaderMgr::SUN_UP_FACTOR, 1);
- sky_shader->uniform1f(LLShaderMgr::SUN_MOON_GLOW_FACTOR, 1.0f);
+ sky_shader->uniform1f(LLShaderMgr::SUN_MOON_GLOW_FACTOR, psky->getSunMoonGlowFactor());
renderDome(origin, camHeightLocal, sky_shader);
sky_shader->unbind();
}