summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2011-08-11 14:20:57 -0500
committerDave Parks <davep@lindenlab.com>2011-08-11 14:20:57 -0500
commit80398b3ccb0c4a6ff3ac20b3565619fe5cecc2f9 (patch)
tree623156a93d159ece460a31590701d7cbdc701cdc /indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl
parent610764fbfce75f54c95d4b10c2a8f9482a7a7b80 (diff)
parent2dd8ce53e4e0d14f2bc20796eb6bdf1ef12a65df (diff)
merge
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl')
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl15
1 files changed, 9 insertions, 6 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl
index 5efa3200d4..601bb17bc7 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl
@@ -20,7 +20,10 @@ uniform sampler2DRect depthMap;
uniform vec3 env_mat[3];
uniform float sun_wash;
-varying vec4 vary_light;
+uniform vec3 center;
+uniform vec3 color;
+uniform float falloff;
+uniform float size;
varying vec4 vary_fragcoord;
uniform vec2 screen_res;
@@ -49,9 +52,9 @@ void main()
frag.xy *= screen_res;
vec3 pos = getPosition(frag.xy).xyz;
- vec3 lv = vary_light.xyz-pos;
+ vec3 lv = center.xyz-pos;
float dist2 = dot(lv,lv);
- dist2 /= vary_light.w;
+ dist2 /= size;
if (dist2 > 1.0)
{
discard;
@@ -72,11 +75,11 @@ void main()
float noise = texture2D(noiseMap, frag.xy/128.0).b;
vec3 col = texture2DRect(diffuseRect, frag.xy).rgb;
- float fa = gl_Color.a+1.0;
+ float fa = falloff+1.0;
float dist_atten = clamp(1.0-(dist2-1.0*(1.0-fa))/fa, 0.0, 1.0);
float lit = da * dist_atten * noise;
- col = gl_Color.rgb*lit*col;
+ col = color.rgb*lit*col;
vec4 spec = texture2DRect(specularRect, frag.xy);
if (spec.a > 0.0)
@@ -86,7 +89,7 @@ void main()
{
sa = texture2D(lightFunc, vec2(sa, spec.a)).a * min(dist_atten*4.0, 1.0);
sa *= noise;
- col += da*sa*gl_Color.rgb*spec.rgb;
+ col += da*sa*color.rgb*spec.rgb;
}
}