blob: 402be38bf7b5c7ecdfcbe0ecccf855f8363819fd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
// 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;
// outputs
normal = n;
gl_TexCoord[0] = gl_TextureMatrix[0] * f;
gl_Position = ftransform();
}
|