summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl')
-rw-r--r--indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl20
1 files changed, 20 insertions, 0 deletions
diff --git a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl
index ee9c990b12..ecf1545d2d 100644
--- a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl
+++ b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl
@@ -29,6 +29,26 @@ vec3 scaleSoftClipFrag(vec3 light);
uniform int no_atmo;
+vec3 srgb_to_linear(vec3 col);
+vec3 linear_to_srgb(vec3 col);
+
+vec3 atmosFragLightingLinear(vec3 light, vec3 additive, vec3 atten)
+{
+ if (no_atmo == 1)
+ {
+ return light;
+ }
+
+ light = linear_to_srgb(light);
+ additive = linear_to_srgb(additive);
+ atten = linear_to_srgb(atten);
+
+ light *= atten.r;
+ light += additive;
+ return srgb_to_linear(light);
+}
+
+
vec3 atmosFragLighting(vec3 light, vec3 additive, vec3 atten)
{
if (no_atmo == 1)