1//
2// Vertex shader for most of the frament shader
3//
4#version 120
5
6attribute vec4 wings_tangent;
7
8uniform vec4 diffuse;
9
10varying vec3 ws_normal;   // world space
11varying vec4 ws_tangent;  // world space
12varying vec3 ws_position; // world space
13varying vec4 v_basecolor;
14
15uniform mat3x4 ws_matrix;
16
17void main(void)
18{
19    ws_position = mat3x3(ws_matrix)*gl_Vertex.xyz;
20    // ws_position = gl_Vertex.xyz;
21    v_basecolor	= diffuse * gl_Color;
22    ws_normal	= normalize(mat3x3(ws_matrix)*gl_Normal);
23    vec3 T      = mat3x3(ws_matrix)*wings_tangent.xyz;
24    ws_tangent  = vec4(T.xyz, wings_tangent.w);
25    gl_TexCoord[0]	= gl_MultiTexCoord0;
26#ifdef __GLSL_CG_DATA_TYPES // Fix clipping for Nvidia and ATI
27    gl_ClipVertex   = gl_ModelViewMatrix * gl_Vertex;
28#endif
29    gl_Position     = gl_ModelViewProjectionMatrix * gl_Vertex;
30}
31