diff options
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(); } |