summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class3/windlight/transportF.glsl
diff options
context:
space:
mode:
authorGraham Madarasz <graham@lindenlab.com>2019-05-13 20:57:11 +0000
committerGraham Madarasz <graham@lindenlab.com>2019-05-13 20:57:11 +0000
commit5196b7eac970f7f2b451f0cdf10cb4f6f5997a75 (patch)
treeeb9f66bada72ce544345586694d3cf27c322e31a /indra/newview/app_settings/shaders/class3/windlight/transportF.glsl
parentce910edb0ed6222ad402e4310ccef6a0d0207dd0 (diff)
parent61c2f390210720132c861a157b66cc77fe273d51 (diff)
Merged in graham_linden/viewer-eep-g (pull request #391)
SL-10996, SL-11149
Diffstat (limited to 'indra/newview/app_settings/shaders/class3/windlight/transportF.glsl')
-rw-r--r--indra/newview/app_settings/shaders/class3/windlight/transportF.glsl12
1 files changed, 8 insertions, 4 deletions
diff --git a/indra/newview/app_settings/shaders/class3/windlight/transportF.glsl b/indra/newview/app_settings/shaders/class3/windlight/transportF.glsl
index e7e56087ab..08eb119510 100644
--- a/indra/newview/app_settings/shaders/class3/windlight/transportF.glsl
+++ b/indra/newview/app_settings/shaders/class3/windlight/transportF.glsl
@@ -35,10 +35,12 @@ uniform int no_atmo;
vec3 atmosTransportFrag(vec3 light, vec3 additive, vec3 atten)
{
if (no_atmo == 1)
- {
+ {
return light;
}
- return (light + additive) * atten * 2.0;
+ light *= atten.r;
+ light += additive;
+ return light * 2.0;
}
vec3 atmosTransport(vec3 light)
@@ -48,10 +50,12 @@ vec3 atmosTransport(vec3 light)
vec3 fullbrightAtmosTransport(vec3 light)
{
- return atmosTransportFrag(light, getAdditiveColor(), getAtmosAttenuation());
+ float brightness = dot(light.rgb, vec3(0.33333));
+ return atmosTransportFrag(light * 0.5, getAdditiveColor() * (brightness * 0.5 + 0.5), getAtmosAttenuation());
}
vec3 fullbrightShinyAtmosTransport(vec3 light)
{
- return atmosTransportFrag(light, getAdditiveColor(), getAtmosAttenuation());
+ float brightness = dot(light.rgb, vec3(0.33333));
+ return atmosTransportFrag(light * 0.5, getAdditiveColor() * (brightness * brightness), getAtmosAttenuation());
}