diff options
author | Runitai Linden <davep@lindenlab.com> | 2020-03-20 16:50:37 -0500 |
---|---|---|
committer | Runitai Linden <davep@lindenlab.com> | 2020-03-20 16:50:37 -0500 |
commit | 3e472948db34e8efc905b5b50249f4587ba1507f (patch) | |
tree | 9ec5d453b5beca5f6ce9ee9de719e4be4b8f1a9d /indra/newview/app_settings/shaders/class2/windlight/transportF.glsl | |
parent | 8c1b9d3e7a194c106ee79067e3136c37ea7e84e1 (diff) |
WIP - Make EEP match production.
Diffstat (limited to 'indra/newview/app_settings/shaders/class2/windlight/transportF.glsl')
-rw-r--r-- | indra/newview/app_settings/shaders/class2/windlight/transportF.glsl | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl b/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl index f69d36f715..b0cf9b0002 100644 --- a/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl +++ b/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl @@ -34,14 +34,9 @@ uniform int no_atmo; vec3 atmosTransportFrag(vec3 light, vec3 additive, vec3 atten) { - if (no_atmo == 1) - { - return light * 2.0; - } - // fullbright responds minimally to atmos scatter effects - light *= min(15.0 * atten.r, 1.0); - light += (0.1 * additive); - return light * 2.0; + light *= atten.r; + light += additive * 2.0; + return light; } vec3 atmosTransport(vec3 light) @@ -52,7 +47,7 @@ vec3 atmosTransport(vec3 light) vec3 fullbrightAtmosTransportFrag(vec3 light, vec3 additive, vec3 atten) { float brightness = dot(light.rgb * 0.5, vec3(0.3333)) + 0.1; - return atmosTransportFrag(light * 0.5, additive * brightness, atten); + return mix(atmosTransport(light.rgb), light.rgb + additive, brightness * brightness); } vec3 fullbrightAtmosTransport(vec3 light) @@ -62,6 +57,6 @@ vec3 fullbrightAtmosTransport(vec3 light) vec3 fullbrightShinyAtmosTransport(vec3 light) { - float brightness = dot(light.rgb * 0.5, vec3(0.33333)) + 0.1; - return atmosTransportFrag(light * 0.5, getAdditiveColor() * (brightness * brightness), getAtmosAttenuation()); + float brightness = dot(light.rgb, vec3(0.33333)); + return mix(atmosTransport(light.rgb), (light.rgb + getAdditiveColor().rgb) * (2.0 - brightness), brightness * brightness); } |