diff options
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl')
-rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl index 1470d7c9ca..880a7ea0a2 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl @@ -22,7 +22,14 @@ * $/LicenseInfo$ */ +uniform mat4 projection_matrix; +uniform mat4 texture_matrix0; +uniform mat4 modelview_matrix; +attribute vec3 position; +attribute vec4 diffuse_color; +attribute vec3 normal; +attribute vec2 texcoord0; varying vec3 vary_normal; @@ -30,21 +37,21 @@ mat4 getObjectSkinnedTransform(); void main() { - gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; + gl_TexCoord[0] = texture_matrix0 * vec4(texcoord0,0,1); mat4 mat = getObjectSkinnedTransform(); - mat = gl_ModelViewMatrix * mat; - vec3 pos = (mat*gl_Vertex).xyz; + mat = modelview_matrix * mat; + vec3 pos = (mat*vec4(position.xyz, 1.0)).xyz; - vec4 norm = gl_Vertex; - norm.xyz += gl_Normal.xyz; + vec4 norm = vec4(position.xyz, 1.0); + norm.xyz += normal.xyz; norm.xyz = (mat*norm).xyz; norm.xyz = normalize(norm.xyz-pos.xyz); vary_normal = norm.xyz; - gl_FrontColor = gl_Color; + gl_FrontColor = diffuse_color; - gl_Position = gl_ProjectionMatrix*vec4(pos, 1.0); + gl_Position = projection_matrix*vec4(pos, 1.0); } |