diff options
author | Kitty Barnett <develop@catznip.com> | 2012-02-24 16:12:43 +0100 |
---|---|---|
committer | Kitty Barnett <develop@catznip.com> | 2012-02-24 16:12:43 +0100 |
commit | e0d1ddab212103ba11a72783ce3b0a26ea8c0c55 (patch) | |
tree | 44011ae0491941af0bfc1957d5f3b408c81123a4 /indra/newview/app_settings/shaders/class2/deferred/alphaSkinnedV.glsl | |
parent | e615660823e680e824d2db0f1a59917597e64a13 (diff) | |
parent | 289d756ea86bd3898f41592146d8f549cd056846 (diff) |
Merge with viewer-development
Diffstat (limited to 'indra/newview/app_settings/shaders/class2/deferred/alphaSkinnedV.glsl')
-rw-r--r-- | indra/newview/app_settings/shaders/class2/deferred/alphaSkinnedV.glsl | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaSkinnedV.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaSkinnedV.glsl index 5a3955ef00..83815b1786 100644 --- a/indra/newview/app_settings/shaders/class2/deferred/alphaSkinnedV.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/alphaSkinnedV.glsl @@ -63,21 +63,21 @@ uniform vec3 light_diffuse[8]; float calcPointLightOrSpotLight(vec3 v, vec3 n, vec4 lp, vec3 ln, float la, float fa, float is_pointlight) { - //get light vector +//get light vector vec3 lv = lp.xyz-v; //get distance - float d = length(lv); + float d = dot(lv,lv); float da = 0.0; if (d > 0.0 && la > 0.0 && fa > 0.0) { //normalize light vector - lv *= 1.0/d; + lv = normalize(lv); //distance attenuation - float dist2 = d*d/(la*la); + float dist2 = d/la; da = clamp(1.0-(dist2-1.0*(1.0-fa))/fa, 0.0, 1.0); // spotlight coefficient. @@ -85,7 +85,7 @@ float calcPointLightOrSpotLight(vec3 v, vec3 n, vec4 lp, vec3 ln, float la, floa da *= spot*spot; // GL_SPOT_EXPONENT=2 //angular attenuation - da *= calcDirectionalLight(n, lv); + da *= max(dot(n, lv), 0.0); } return da; |