1234567891011121314151617181920 |
- // Vertex shader for cube-texture reflection mapping
- // Brian Paul
-
-
- varying vec3 normal;
-
- void main()
- {
- vec3 n = gl_NormalMatrix * gl_Normal;
- vec3 u = normalize(vec3(gl_ModelViewMatrix * gl_Vertex));
- float two_n_dot_u = 2.0 * dot(n, u);
- vec4 f;
- f.xyz = u - n * two_n_dot_u;
- f.w = 1.0;
-
- // outputs
- normal = n;
- gl_TexCoord[0] = gl_TextureMatrix[0] * f;
- gl_Position = ftransform();
- }
|