summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl')
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl12
1 files changed, 4 insertions, 8 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl b/indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl
index 3432bf07ef..4331418b33 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl
@@ -37,22 +37,18 @@ uniform sampler2D emissiveRect;
uniform sampler2D normalMap;
uniform float diffuse_luminance_scale;
-float lum(vec3 col)
-{
- vec3 l = vec3(0.2126, 0.7152, 0.0722);
- return dot(l, col);
-}
void main()
{
+ const vec3 l = vec3(0.2126, 0.7152, 0.0722);
vec2 tc = vary_fragcoord*0.6+0.2;
tc.y -= 0.1; // HACK - nudge exposure sample down a little bit to favor ground over sky
vec3 c = texture(diffuseRect, tc).rgb;
vec4 norm = texture(normalMap, tc);
- if (!GET_GBUFFER_FLAG(GBUFFER_FLAG_HAS_HDRI) &&
- !GET_GBUFFER_FLAG(GBUFFER_FLAG_SKIP_ATMOS))
+ if (!GET_GBUFFER_FLAG(norm.w, GBUFFER_FLAG_HAS_HDRI) &&
+ !GET_GBUFFER_FLAG(norm.w, GBUFFER_FLAG_SKIP_ATMOS))
{
// Apply the diffuse luminance scale to objects but not the sky
// Prevents underexposing when looking at bright environments
@@ -62,7 +58,7 @@ void main()
c += texture(emissiveRect, tc).rgb;
- float L = lum(c);
+ float L = dot(l, c);
frag_color = vec4(max(L, 0.0));
}