diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl index de766d6bc74c6f456eb1d45027564ea5af538ea2..82d7bb983533f5c251f53c738fd150400f8cf78c 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl @@ -38,7 +38,6 @@ uniform sampler2D exposureMap; uniform vec2 screen_res; VARYING vec2 vary_fragcoord; -uniform float display_gamma; vec3 linear_to_srgb(vec3 cl); diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp index f2f269fa63f51cf2899947c567a61669160d8c9e..1427dbefa135c5fc45a167823a9eacd2b6171c1d 100644 --- a/indra/newview/llsettingsvo.cpp +++ b/indra/newview/llsettingsvo.cpp @@ -716,6 +716,16 @@ void LLSettingsVOSky::applySpecial(void *ptarget, bool force) LLColor3 ambient(getTotalAmbient()); + F32 g = getGamma(); + if (ambient != LLColor3::black && getReflectionProbeAmbiance() == 0.f) + { //desaturate ambient for legacy compatibility + F32 h, s, l; + ambient.calcHSL(&h, &s, &l); + s *= 0.5f; + l *= 1.f / (g + llmax(g-1.f, 0.f)); + ambient.setHSL(h, s, l); + } + if (irradiance_pass) { // during an irradiance map update, disable ambient lighting (direct lighting only) and desaturate sky color (avoid tinting the world blue) shader->uniform3fv(LLShaderMgr::AMBIENT_LINEAR, LLVector3::zero.mV); @@ -755,11 +765,7 @@ void LLSettingsVOSky::applySpecial(void *ptarget, bool force) shader->uniform1f(LLShaderMgr::HAZE_DENSITY_LINEAR, sRGBtoLinear(getHazeDensity())); - F32 g = getGamma(); - F32 display_gamma = gSavedSettings.getF32("RenderDeferredDisplayGamma"); - shader->uniform1f(LLShaderMgr::GAMMA, g); - shader->uniform1f(LLShaderMgr::DISPLAY_GAMMA, display_gamma); } LLSettingsSky::parammapping_t LLSettingsVOSky::getParameterMap() const diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 60d19bf1d69e931a2369c9f52f132a59472a0df8..9fe9f4e487fa491d0b866e48bac2a4c4f1820c71 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -7039,7 +7039,7 @@ void LLPipeline::gammaCorrect(LLRenderTarget* src, LLRenderTarget* dst) { static LLCachedControl<F32> exposure(gSavedSettings, "RenderExposure", 1.f); - F32 e = llclamp(exposure(), 0.5f, 4.f); + F32 e = llclamp(exposure(), 0.5f, 4.f); static LLStaticHashedString s_exposure("exposure");