SL-10305 fix post deferred gamma correction to address ALM mismatch with non-ALM lighting.

meow-7.2.2
Graham Linden 2019-01-08 13:15:00 -08:00
parent 84bb8e1167
commit e13113ab0b
2 changed files with 6 additions and 3 deletions

View File

@ -45,7 +45,7 @@ vec3 linear_to_srgb(vec3 cl);
void main()
{
vec4 diff = texture2DRect(diffuseRect, vary_fragcoord);
diff.rgb = pow(diff.rgb, vec3(display_gamma));
diff.rgb = linear_to_srgb(diff.rgb);
frag_color = diff;
}

View File

@ -662,7 +662,7 @@ void LLSettingsVOSky::applySpecial(void *ptarget)
{
LLGLSLShader *shader = (LLGLSLShader *)ptarget;
LLVector4 light_direction = LLEnvironment::instance().getClampedSunNorm();
LLVector4 light_direction = LLEnvironment::instance().getClampedLightNorm();
if (shader->mShaderGroup == LLGLSLShader::SG_DEFAULT)
{
@ -678,8 +678,11 @@ void LLSettingsVOSky::applySpecial(void *ptarget)
shader->uniform4fv(LLShaderMgr::CLOUD_POS_DENSITY1, 1, vect_c_p_d1.mV);
}
F32 g = getGamma();
shader->uniform1f(LLShaderMgr::SCENE_LIGHT_STRENGTH, mSceneLightStrength);
shader->uniform4f(LLShaderMgr::GAMMA, getGamma(), 0.0, 0.0, 1.0);
shader->uniform4f(LLShaderMgr::GAMMA, g, 0.0, 0.0, 1.0);
shader->uniform1f(LLShaderMgr::DISPLAY_GAMMA, g);
}
LLSettingsSky::parammapping_t LLSettingsVOSky::getParameterMap() const