From 5db408caa0c95276cbbfe537cba76f104795f1c0 Mon Sep 17 00:00:00 2001 From: Beq Date: Thu, 28 Apr 2022 14:46:40 +0100 Subject: [PATCH] [FIRE-21700] Full bright should remain so at Gamma 0 Fix for explicit use case of gamma 0, full bright will continue to attenuate with all non-zero gamma --- .../shaders/class1/deferred/fullbrightF.glsl | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl index 99bcba797b..07ba7f5bb7 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl @@ -54,6 +54,9 @@ vec3 fullbrightScaleSoftClip(vec3 light); uniform float minimum_alpha; #endif +// Fullbright fog fix w/ gamma 0 workaround. +uniform float gamma; + void main() { #ifdef HAS_DIFFUSE_LOOKUP @@ -72,9 +75,15 @@ void main() #endif color.rgb *= vertex_color.rgb; - // Fullbright fog fix - color.rgb = fullbrightAtmosTransport(color.rgb); - color.rgb = fullbrightScaleSoftClip(color.rgb); + // Fullbright fog fix w/ gamma 0 workaround. + // color.rgb = fullbrightAtmosTransport(color.rgb); + // color.rgb = fullbrightScaleSoftClip(color.rgb); + if(gamma != 0.) + { + color.rgb = fullbrightAtmosTransport(color.rgb); + color.rgb = fullbrightScaleSoftClip(color.rgb); + } + // Fullbright fog fix w/ gamma 0 workaround. #ifdef WATER_FOG vec3 pos = vary_position;