diff options
author | Graham Linden <graham@lindenlab.com> | 2019-02-06 16:42:23 -0800 |
---|---|---|
committer | Graham Linden <graham@lindenlab.com> | 2019-02-06 16:42:23 -0800 |
commit | 8890c3238ab4ae8bbf1bc123284f9c6d4db4f9d6 (patch) | |
tree | 6d250b8114eb4d39a7c5810813a06d730665372b /indra/newview/app_settings/shaders/class1/windlight | |
parent | f8171a909cb2a18fcca47f6a0317919ece802aef (diff) |
SL-10478
Fix side-effects of having both sun and moon as potential directional light contributors.
We pass an int to the shader indicating which to prefer instead of making per-pixel decisions
and pass the moonlight color/di independently.
Obsolete llsettingssky fade color which was unused elsewhere and cached for no reason.
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/windlight')
-rw-r--r-- | indra/newview/app_settings/shaders/class1/windlight/moonF.glsl | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/indra/newview/app_settings/shaders/class1/windlight/moonF.glsl b/indra/newview/app_settings/shaders/class1/windlight/moonF.glsl index b66b56e0fb..947c301110 100644 --- a/indra/newview/app_settings/shaders/class1/windlight/moonF.glsl +++ b/indra/newview/app_settings/shaders/class1/windlight/moonF.glsl @@ -35,6 +35,7 @@ out vec4 frag_color; uniform vec4 color; uniform vec4 sunlight_color; +uniform vec4 moonlight_color; uniform vec3 lumWeights; uniform float moon_brightness; uniform float minLuminance; @@ -45,8 +46,8 @@ VARYING vec2 vary_texcoord0; void main() { - vec4 moonA = texture2D(diffuseMap, vary_texcoord0.xy); - vec4 moonB = texture2D(altDiffuseMap, vary_texcoord0.xy); + vec4 moonA = texture2D(diffuseMap, vary_texcoord0.xy); + vec4 moonB = texture2D(altDiffuseMap, vary_texcoord0.xy); vec4 c = mix(moonA, moonB, blend_factor); // mix factor which blends when sunlight is brighter @@ -55,8 +56,9 @@ void main() float mix = 1.0f - dot(normalize(sunlight_color.rgb), luma_weights); vec3 exp = vec3(1.0 - mix * moon_brightness) * 2.0 - 1.0; - c.rgb = pow(c.rgb, exp); + c.rgb = pow(c.rgb, exp); + //c.rgb *= moonlight_color.rgb; - frag_color = vec4(c.rgb, c.a); + frag_color = vec4(c.rgb, c.a); } |