diff options
author | Graham Linden <graham@lindenlab.com> | 2019-03-03 10:42:19 -0800 |
---|---|---|
committer | Graham Linden <graham@lindenlab.com> | 2019-03-03 10:42:19 -0800 |
commit | 4c3050a3953153aa8753fc10706ad2ef464f3e3d (patch) | |
tree | 78ded9c452348f749c8dac87f416aa433f4ca963 /indra/newview/app_settings/shaders/class3/windlight | |
parent | d90b16d350fba72e5011768ee8eb8b3289962dc5 (diff) |
SL-10664, SL-10666
Fix up culling issues from perf work and fix Depth of Field rendering to get depth values properly.
Baseline for performance work.
Diffstat (limited to 'indra/newview/app_settings/shaders/class3/windlight')
-rw-r--r-- | indra/newview/app_settings/shaders/class3/windlight/transportF.glsl | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/indra/newview/app_settings/shaders/class3/windlight/transportF.glsl b/indra/newview/app_settings/shaders/class3/windlight/transportF.glsl index 7f74122665..90ab5d2793 100644 --- a/indra/newview/app_settings/shaders/class3/windlight/transportF.glsl +++ b/indra/newview/app_settings/shaders/class3/windlight/transportF.glsl @@ -30,21 +30,35 @@ vec3 getAdditiveColor(); vec3 getAtmosAttenuation(); +uniform int no_atmo; + vec3 atmosTransportFrag(vec3 light, vec3 additive, vec3 atten) { - return (light + additive) * atten * 2.0; + if (no_atmo == 1) + { + return light; + } + return (light + additive) * atten * 2.0; } vec3 fullbrightAtmosTransportFrag(vec3 light, vec3 additive, vec3 atten) { - float brightness = dot(light.rgb, vec3(0.33333)); - return mix(atmosTransportFrag(light.rgb, additive,atten), light.rgb + additive.rgb, brightness * brightness); + if (no_atmo == 1) + { + return light; + } + float brightness = dot(light.rgb, vec3(0.33333)); + return mix(atmosTransportFrag(light.rgb, additive,atten), light.rgb + additive.rgb, brightness * brightness); } vec3 fullbrightShinyAtmosTransportFrag(vec3 light, vec3 additive, vec3 atten) { - float brightness = dot(light.rgb, vec3(0.33333)); - return mix(atmosTransportFrag(light.rgb, additive, atten), (light.rgb + additive.rgb) * (2.0 - brightness), brightness * brightness); + if (no_atmo == 1) + { + return light; + } + float brightness = dot(light.rgb, vec3(0.33333)); + return mix(atmosTransportFrag(light.rgb, additive, atten), (light.rgb + additive.rgb) * (2.0 - brightness), brightness * brightness); } vec3 atmosTransport(vec3 light) |