diff options
author | RunitaiLinden <davep@lindenlab.com> | 2023-10-11 15:25:43 -0500 |
---|---|---|
committer | RunitaiLinden <davep@lindenlab.com> | 2023-10-11 15:25:43 -0500 |
commit | ede7b04f87806278ab7615f90958b9e7b2ff9584 (patch) | |
tree | a1b4605859c4216ab825db49c5e99aa225b4cc90 | |
parent | 5431ad7e567c0bbdf5dcf0efbed4c4a59fee3c29 (diff) |
SL-20440 Followup -- fix for non-normalized vector and balance PBR spotlight with legacy spotlight
-rw-r--r-- | indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl index 357f3b6e3b..d31b37fb60 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl @@ -164,18 +164,19 @@ void main() float lit = 0.0; float amb_da = 0.0; + lv = normalize(lv); + if (nl > 0.0) { amb_da += (nl*0.5 + 0.5) * proj_ambiance; dlit = getProjectedLightDiffuseColor( l_dist, proj_tc.xy ); - vec3 intensity = dist_atten * dlit * 3.9 * shadow; // Legacy attenuation, magic number to balance with legacy materials - lv = normalize(lv); + vec3 intensity = dist_atten * dlit * 3.25 * shadow; // Legacy attenuation, magic number to balance with legacy materials final_color += intensity*pbrPunctual(diffuseColor, specularColor, perceptualRoughness, metallic, n.xyz, v, lv); } - amb_rgb = getProjectedLightAmbiance( amb_da, dist_atten, lit, nl, 1.0, proj_tc.xy ); + amb_rgb = getProjectedLightAmbiance( amb_da, dist_atten, lit, nl, 1.0, proj_tc.xy ) * 3.25; //magic number to balance with legacy ambiance final_color += amb_rgb * pbrPunctual(diffuseColor, specularColor, perceptualRoughness, metallic, n.xyz, v, -lv); } } |