diff options
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl')
-rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl new file mode 100644 index 0000000000..14da6b1ad4 --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl @@ -0,0 +1,38 @@ +/** + * @file avatarShadowV.glsl + * + * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +mat4 getSkinnedTransform(); + +attribute vec4 weight; + +void main() +{ + gl_TexCoord[0] = gl_MultiTexCoord0; + + vec4 pos; + vec3 norm; + + mat4 trans = getSkinnedTransform(); + pos.x = dot(trans[0], gl_Vertex); + pos.y = dot(trans[1], gl_Vertex); + pos.z = dot(trans[2], gl_Vertex); + pos.w = 1.0; + + norm.x = dot(trans[0].xyz, gl_Normal); + norm.y = dot(trans[1].xyz, gl_Normal); + norm.z = dot(trans[2].xyz, gl_Normal); + norm = normalize(norm); + + pos = gl_ProjectionMatrix * pos; + //smash geometry against near clip plane + pos.z = max(pos.z, -1.0); + gl_Position = pos; + + gl_FrontColor = gl_Color; +} + + |