summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class1
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2013-05-15 17:35:28 -0500
committerDave Parks <davep@lindenlab.com>2013-05-15 17:35:28 -0500
commitb3df764bd3c461df49f0f2289b66c87a76e71d34 (patch)
tree552416f8d804e1ce5890bb3147bbc8b9b347243c /indra/newview/app_settings/shaders/class1
parentda6022e9b48f645dce0f528d8edd2c9dd25056d5 (diff)
Attempt at making deferred rendering work on OpenGL 2.1
Diffstat (limited to 'indra/newview/app_settings/shaders/class1')
-rwxr-xr-xindra/newview/app_settings/shaders/class1/deferred/alphaF.glsl12
-rwxr-xr-xindra/newview/app_settings/shaders/class1/deferred/alphaV.glsl13
2 files changed, 8 insertions, 17 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl
index 50b43f6a8d..84e83d4c8b 100755
--- a/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl
@@ -60,14 +60,10 @@ VARYING vec3 vary_ambient;
VARYING vec3 vary_directional;
VARYING vec3 vary_fragcoord;
VARYING vec3 vary_position;
-VARYING vec3 vary_pointlight_col;
+VARYING vec4 vary_pointlight_col;
VARYING vec2 vary_texcoord0;
VARYING vec3 vary_norm;
-#ifdef USE_VERTEX_COLOR
-VARYING vec4 vertex_color;
-#endif
-
uniform vec4 light_position[8];
uniform vec3 light_direction[8];
uniform vec3 light_attenuation[8];
@@ -216,7 +212,7 @@ void main()
diff.rgb = pow(diff.rgb, vec3(2.2f, 2.2f, 2.2f));
#ifdef USE_VERTEX_COLOR
- float vertex_color_alpha = vertex_color.a;
+ float vertex_color_alpha = vary_pointlight_col.a;
#else
float vertex_color_alpha = 1.0;
#endif
@@ -225,7 +221,7 @@ void main()
vec3 l = light_position[0].xyz;
vec3 dlight = calcDirectionalLight(normal, l) * 2.6;
- dlight = dlight * vary_directional.rgb * vary_pointlight_col;
+ dlight = dlight * vary_directional.rgb * vary_pointlight_col.rgb;
#if HAS_SHADOW
vec4 col = vec4(vary_ambient + dlight * shadow, vertex_color_alpha);
@@ -250,7 +246,7 @@ void main()
LIGHT_LOOP(6)
LIGHT_LOOP(7)
- color.rgb += diff.rgb * vary_pointlight_col * col.rgb;
+ color.rgb += diff.rgb * vary_pointlight_col.rgb * col.rgb;
frag_color = color;
}
diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl
index 77d02b36ff..9cc2eb0cf3 100755
--- a/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl
@@ -69,11 +69,8 @@ VARYING vec3 vary_ambient;
VARYING vec3 vary_directional;
VARYING vec3 vary_fragcoord;
VARYING vec3 vary_position;
-VARYING vec3 vary_pointlight_col;
+VARYING vec4 vary_pointlight_col;
-#ifdef USE_VERTEX_COLOR
-VARYING vec4 vertex_color;
-#endif
VARYING vec2 vary_texcoord0;
@@ -186,9 +183,9 @@ void main()
- vary_pointlight_col = diff;
+ vary_pointlight_col.rgb = diff;
+ vary_pointlight_col.a = vertex_color.a;
-
col.rgb = vec3(0,0,0);
// Add windlight lights
@@ -200,9 +197,7 @@ void main()
col.rgb = col.rgb*diff.rgb;
-#ifdef USE_VERTEX_COLOR
- vertex_color = col;
-#endif
+
#ifdef HAS_SKIN
vary_fragcoord.xyz = frag_pos.xyz + vec3(0,0,near_clip);