diff options
author | callum_linden <none@none> | 2013-06-27 18:03:47 -0700 |
---|---|---|
committer | callum_linden <none@none> | 2013-06-27 18:03:47 -0700 |
commit | b6b4b5913827ca864dac94c72a127f520288ef8e (patch) | |
tree | dd4bc54c888b4ad2114add5d3c357fae97199c25 /indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl | |
parent | df0da562af801b4370b18b223c9a2d33a29ce759 (diff) | |
parent | 6060e5e46acbeb20a301070a0fd0efea029d33d0 (diff) |
Merge with viewer-release
Diffstat (limited to 'indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl')
-rwxr-xr-x | indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl index eaacb93cb9..780df9ed1a 100755 --- a/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl @@ -179,9 +179,9 @@ void main() vec3 pos = getPosition(frag.xy).xyz; vec3 lv = center.xyz-pos.xyz; - float dist2 = dot(lv,lv); - dist2 /= size; - if (dist2 > 1.0) + float dist = length(lv); + dist /= size; + if (dist > 1.0) { discard; } @@ -215,8 +215,9 @@ void main() proj_tc.xyz /= proj_tc.w; float fa = falloff+1.0; - float dist_atten = min(1.0-(dist2-1.0*(1.0-fa))/fa, 1.0); - dist_atten = pow(dist_atten, 2.2) * 2.2; + float dist_atten = min(1.0-(dist-1.0*(1.0-fa))/fa, 1.0); + dist_atten *= dist_atten; + dist_atten *= 2.0; if (dist_atten <= 0.0) { discard; |