File: reflect.vert

package info (click to toggle)
mesa 7.7.1-6
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 98,864 kB
  • ctags: 137,548
  • sloc: ansic: 736,522; cpp: 32,250; xml: 11,831; python: 10,446; asm: 8,599; makefile: 4,731; sh: 3,708; yacc: 2,226; lex: 495
file content (20 lines) | stat: -rw-r--r-- 413 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 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();
}