Skip to content
Snippets Groups Projects
Commit 3b363f12 authored by Rye Mutt's avatar Rye Mutt :bread:
Browse files

Fix windlight gamma

parent d0dba6e4
No related branches found
No related tags found
2 merge requests!3Update to main branch,!2Rebase onto current main branch
......@@ -284,6 +284,15 @@ float noise(vec2 x) {
//=============================
uniform float gamma;
vec3 legacyGamma(vec3 color)
{
color = 1. - clamp(color, vec3(0.), vec3(1.));
color = 1. - pow(color, vec3(gamma)); // s/b inverted already CPU-side
return color;
}
void main()
{
vec4 diff = texture2D(diffuseRect, vary_fragcoord);
......@@ -353,6 +362,8 @@ void main()
diff = vec4(linear_to_srgb(texture3DLod(colorgrade_lut, scale * diff.rgb + offset, 0).rgb), diff.a);
#endif
diff.rgb = legacyGamma(diff.rgb);
vec2 tc = vary_fragcoord.xy*screen_res*4.0;
vec3 seed = (diff.rgb+vec3(1.0))*vec3(tc.xy, tc.x+tc.y);
vec3 nz = vec3(noise(seed.rg), noise(seed.gb), noise(seed.rb));
......
......@@ -299,7 +299,6 @@ LLViewerShaderMgr::LLViewerShaderMgr() :
mShaderList.push_back(&gDeferredPBRAlphaProgram);
mShaderList.push_back(&gHUDPBRAlphaProgram);
mShaderList.push_back(&gDeferredSkinnedPBRAlphaProgram);
mShaderList.push_back(&gDeferredPostGammaCorrectProgram); // for gamma
// [RLVa:KB] - @setsphere
mShaderList.push_back(&gRlvSphereProgram);
// [/RLVa:KB]
......@@ -2873,6 +2872,7 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()
{
if (success)
{
mShaderList.push_back(&gDeferredPostTonemapProgram[i]);
gDeferredPostTonemapProgram[i].mName = "Tonemapping Shader " + std::to_string(i);
gDeferredPostTonemapProgram[i].mFeatures.hasSrgb = true;
gDeferredPostTonemapProgram[i].mShaderFiles.clear();
......@@ -2889,6 +2889,7 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()
if (success)
{
mShaderList.push_back(&gDeferredPostColorGradeLUTProgram[i]);
gDeferredPostColorGradeLUTProgram[i].mName = "Color Grading Shader " + std::to_string(i);
gDeferredPostColorGradeLUTProgram[i].mFeatures.hasSrgb = true;
gDeferredPostColorGradeLUTProgram[i].mShaderFiles.clear();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment