- uniform vec3 uEyePos;
- void main(void)
- {
- gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
- // Position des Vertex'
- vec3 v = normalize(vec3(gl_ModelViewMatrix * gl_Vertex));
- // Normale des Vertex'
- vec3 n = normalize(gl_NormalMatrix * gl_Normal);
- // Vector von der Camera zum Vertex
- vec3 view = normalize(v - uEyePos);
- vec3 r = reflect(v, n);
- float m = 2.0 * sqrt( r.x*r.x + r.y*r.y + (r.z+1.0)*(r.z+1.0) );
- gl_TexCoord[0].s = r.x/m + 0.5;
- gl_TexCoord[0].t = r.y/m + 0.5;
- }