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 | 25 | 
1 files changed, 17 insertions, 8 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..a74290bfcd 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl @@ -22,29 +22,38 @@   * $/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; +VARYING vec3 vary_normal; +VARYING vec4 vertex_color; +VARYING vec2 vary_texcoord0;  mat4 getObjectSkinnedTransform();  void main()  { -	gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; +	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy;  	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; +	vertex_color = diffuse_color; -	gl_Position = gl_ProjectionMatrix*vec4(pos, 1.0); +	gl_Position = projection_matrix*vec4(pos, 1.0);  } | 
