changed: gcc8 base update
[opensg.git] / Examples / CSM / Shader / BumpMap / bump.vp
blob512c882e6f8d38968fdab57eabbca8e8de9a91fc
2 varying vec3 lightDir; // interpolated surface local coordinate light direction
3 varying vec3 viewDir; // interpolated surface local coordinate view direction
5 void main(void)
7     // Do standard vertex stuff
9     gl_Position  = gl_ModelViewProjectionMatrix * gl_Vertex;
10     gl_TexCoord[0] = gl_MultiTexCoord0;
12     // Compute the binormal
14     vec3 n = normalize(gl_NormalMatrix * gl_Normal);
15     //vec3 t = normalize(gl_NormalMatrix * vec3 (gl_Color));
16     vec3 t = normalize(cross(vec3(1.141, 2.78, 3.14), n));
17     vec3 b = cross(n, t);
19     // Transform light position into surface local coordinates
21     vec3 LightPosition = gl_LightSource[0].position.xyz;
23     vec3 v;
24     v.x = dot(LightPosition, t);
25     v.y = dot(LightPosition, b);
26     v.z = dot(LightPosition, n);
27     lightDir = normalize(v);
28     vec3 pos      = vec3 (gl_ModelViewMatrix * gl_Vertex);
30     v.x = dot(pos, t);
31     v.y = dot(pos, b);
32     v.z = dot(pos, n);
34     viewDir = normalize(v);