summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2019-04-05 14:35:55 -0700
committerGraham Linden <graham@lindenlab.com>2019-04-05 14:35:55 -0700
commitfff2aecf7f96de9e53620887210487a48dd45580 (patch)
treec49ec5b62bbcd87069916212aab3506405efd2e3 /indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
parent39803f29c6b8dec710fb4b0244a81734bd95644a (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.glsl5
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;