diff options
Diffstat (limited to 'indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl')
-rw-r--r-- | indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl | 20 |
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) |