From 3dfdb2f6e8be4fb2a08102847520585dc1d8fd7d Mon Sep 17 00:00:00 2001 From: Dave Houlton Date: Tue, 29 Oct 2019 17:46:33 -0600 Subject: SL-10449 FIX [EEP] Fixed a (Mac-only) shader regression in changeset 41246 --- indra/newview/app_settings/shaders/class1/deferred/materialF.glsl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/newview/app_settings') diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl index fafecd57cc..9505f2eb74 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl @@ -277,13 +277,13 @@ void main() final_color.a = max(final_color.a, emissive_brightness); - vec4 final_normal = vec4(encode_normal(normalize(tnorm)), env_intensity, 0.0); + vec4 final_normal = vec4(abnormal, env_intensity, 0.0); vec4 final_specular = spec; final_specular.a = specular_color.a; -#if HAS_SPECULAR_MAP - final_specular.a *= norm.a; +#ifdef HAS_SPECULAR_MAP + final_specular.a *= norm.a; final_normal.z *= spec.a; #endif -- cgit v1.3 From 24920de799c8e2dd26854923c7a10fc4a551dd5d Mon Sep 17 00:00:00 2001 From: Dave Houlton Date: Tue, 19 Nov 2019 12:15:45 -0700 Subject: SL-11055 Add back pre-EEP fog burnthrough for fullbrights --- .../app_settings/shaders/class2/windlight/transportF.glsl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'indra/newview/app_settings') diff --git a/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl b/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl index d2d839ed05..a06f4f22ad 100644 --- a/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl +++ b/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl @@ -51,7 +51,14 @@ vec3 atmosTransport(vec3 light) vec3 fullbrightAtmosTransport(vec3 light) { float brightness = dot(light.rgb * 0.5, vec3(0.3333)) + 0.1; - return atmosTransportFrag(light * 0.5, getAdditiveColor() * brightness, getAtmosAttenuation()); + vec3 attenColor = atmosTransportFrag(light * 0.5, getAdditiveColor() * brightness, getAtmosAttenuation()); + + // attenColor is an accurate fog-attenuated result for any brightness + // But, the pre-EEP shader included a brightness-indexed lerp to a non-attenuated version + // of the color - effectively a fog 'burn-through' for very bright pixels. To more closely + // match the pre-EEP behavior, we'll also lerp to the pre-EEP color, based on overall brightness + float preEepBright = dot(light.rgb, vec3(0.3333)); + retun mix(attenColor, (light.rgb + getAdditiveColor().rgb) * (2.0 - preEepBright), preEepBright * preEepBright); } vec3 fullbrightShinyAtmosTransport(vec3 light) -- cgit v1.3