summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class2/deferred
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2020-03-05 18:00:14 +0000
committerDave Parks <davep@lindenlab.com>2020-03-05 18:00:14 +0000
commit90ad38db065877be16371e7814a39618135a30ab (patch)
tree3b188e357512e48f05f39e4926d054b8e5c2bedc /indra/newview/app_settings/shaders/class2/deferred
parentd2120bb28192504a3de76c0af15c5a04adffa206 (diff)
parentd33655828c104d1afe484b63093ad5aab1571a3c (diff)
Merged in davep/BUG-228263 (pull request #21)
Davep/BUG-228263
Diffstat (limited to 'indra/newview/app_settings/shaders/class2/deferred')
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl13
1 files changed, 7 insertions, 6 deletions
diff --git a/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl
index 593706867d..bacdb6f70f 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl
@@ -127,7 +127,7 @@ vec3 post_ambient = color.rgb;
vec3 post_sunlight = color.rgb;
- color.rgb *= diffuse_srgb.rgb;
+ color.rgb *= diffuse_linear.rgb;
vec3 post_diffuse = color.rgb;
@@ -162,8 +162,10 @@ vec3 post_diffuse = color.rgb;
vec3 post_spec = color.rgb;
-#ifndef WATER_FOG
- color.rgb = mix(color.rgb, diffuse_srgb.rgb, diffuse_srgb.a);
+#ifdef WATER_FOG
+ color.rgb += diffuse_srgb.rgb * diffuse_srgb.a * 0.25;
+#else
+ color.rgb = mix(color.rgb, diffuse_linear.rgb, diffuse_linear.a);
#endif
if (envIntensity > 0.0)
@@ -206,9 +208,6 @@ vec3 post_atmo = color.rgb;
//color.rgb = post_env;
//color.rgb = post_atmo;
-// convert to linear as fullscreen lights need to sum in linear colorspace
-// and will be gamma (re)corrected downstream...
- color.rgb = srgb_to_linear(color.rgb);
}
// linear debuggables
@@ -217,6 +216,8 @@ vec3 post_atmo = color.rgb;
//color.rgb = vec3(scol);
//color.rgb = diffuse_linear.rgb;
+ //output linear RGB as lights are summed up in linear space and then gamma corrected prior to the
+ //post deferred passes
frag_color.rgb = color.rgb;
frag_color.a = bloom;
}