diff options
author | Dave Houlton <euclid@lindenlab.com> | 2020-02-03 17:41:54 -0700 |
---|---|---|
committer | Dave Houlton <euclid@lindenlab.com> | 2020-02-04 10:45:05 -0700 |
commit | c1652b4c42256b2e9dd6a564a83681c87d1a3528 (patch) | |
tree | 89c10e17f3ede1949edab3ea614cb7d68353553f | |
parent | 064864e5fb94b858ab18282cf3d5e542b89ee08d (diff) |
SL-12005, back out SRGB changes for projector spotlights
Deferred spotlights were transitioned srdb->linear in commit 653133b
The lights transition between the deferred and (some other) path at fixed camera
distance, causing a distinct light-level pop. Backing out this change to avoid
the pop. Note to the future: pick a light space at the beginning and stick with it.
3 files changed, 9 insertions, 3 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl index e28506dcff..a690cc45a8 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl @@ -178,7 +178,9 @@ void main() vec3 diff_tex = texture2DRect(diffuseRect, frag.xy).rgb; - diff_tex.rgb = srgb_to_linear(diff_tex.rgb); + // SL-12005 Projector light pops as we get closer, more objectionable than being in wrong color space. + // We can't switch to linear here unless we do it everywhere + //diff_tex.rgb = srgb_to_linear(diff_tex.rgb); vec3 dlit = vec3(0, 0, 0); diff --git a/indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl index 5e985618f7..2216afe609 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl @@ -177,7 +177,9 @@ void main() float da = dot(norm, lv); vec3 diff_tex = texture2DRect(diffuseRect, frag.xy).rgb; - diff_tex.rgb = srgb_to_linear(diff_tex.rgb); + // SL-12005 Projector light pops as we get closer, more objectionable than being in wrong color space. + // We can't switch to linear here unless we do it everywhere + //diff_tex.rgb = srgb_to_linear(diff_tex.rgb); vec4 spec = texture2DRect(specularRect, frag.xy); diff --git a/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl index 8cad21d5b4..7cde67d11b 100644 --- a/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl @@ -191,7 +191,9 @@ void main() float da = dot(norm, lv); vec3 diff_tex = texture2DRect(diffuseRect, frag.xy).rgb; - diff_tex.rgb = srgb_to_linear(diff_tex.rgb); + // SL-12005 Projector light pops as we get closer, more objectionable than being in wrong color space. + // We can't switch to linear here unless we do it everywhere + //diff_tex.rgb = srgb_to_linear(diff_tex.rgb); vec4 spec = texture2DRect(specularRect, frag.xy); |