diff options
author | Graham Linden <graham@lindenlab.com> | 2019-04-05 14:35:55 -0700 |
---|---|---|
committer | Graham Linden <graham@lindenlab.com> | 2019-04-05 14:35:55 -0700 |
commit | fff2aecf7f96de9e53620887210487a48dd45580 (patch) | |
tree | c49ec5b62bbcd87069916212aab3506405efd2e3 /indra/newview/app_settings/shaders/class1/deferred/materialF.glsl | |
parent | 39803f29c6b8dec710fb4b0244a81734bd95644a (diff) |
SL-10821
Fix directionality of da and preserve bumps on completely shadowed areas.
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/deferred/materialF.glsl')
-rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/materialF.glsl | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl index 4e24e61018..8691e729ee 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl @@ -296,18 +296,19 @@ void main() vec3 light_dir = (sun_up_factor == 1) ? sun_dir : moon_dir; float da = dot(norm.xyz, light_dir.xyz); + da = clamp(da, -1.0, 1.0); float final_da = da; final_da = clamp(final_da, 0.0, 1.0); final_da = pow(final_da, 1.0 / 1.3); - float ambient = abs(da); + float ambient = da; ambient *= 0.5; ambient *= ambient; ambient = max(0.9, ambient); ambient = 1.0 - ambient; - vec3 sun_contrib = min(final_da, shadow) * sunlit; + vec3 sun_contrib = mix(final_da, min(final_da, shadow), 0.1) * sunlit; col.rgb = amblit; col.rgb *= ambient; |