2008-09-18 04:14:05 +02:00
|
|
|
uniform mat4 reflectionMatrix;
|
|
|
|
uniform mat4 refractionMatrix;
|
2011-02-03 02:12:24 +01:00
|
|
|
uniform mat4 losMatrix;
|
2011-07-13 01:48:05 +02:00
|
|
|
uniform float repeatScale;
|
|
|
|
uniform vec2 translation;
|
2008-09-18 04:14:05 +02:00
|
|
|
|
|
|
|
varying vec3 worldPos;
|
|
|
|
varying float waterDepth;
|
|
|
|
|
|
|
|
void main()
|
|
|
|
{
|
|
|
|
worldPos = gl_Vertex.xyz;
|
2011-07-13 01:48:05 +02:00
|
|
|
waterDepth = dot(gl_Color.xyz, vec3(255.0, -255.0, 1.0));
|
|
|
|
gl_TexCoord[0].st = gl_Vertex.xz*repeatScale + translation;
|
2008-09-18 04:14:05 +02:00
|
|
|
gl_TexCoord[1] = reflectionMatrix * gl_Vertex; // projective texturing
|
2011-07-13 01:48:05 +02:00
|
|
|
gl_TexCoord[2] = refractionMatrix * gl_Vertex;
|
2011-02-03 02:12:24 +01:00
|
|
|
gl_TexCoord[3] = losMatrix * gl_Vertex;
|
2008-09-18 04:14:05 +02:00
|
|
|
gl_Position = ftransform();
|
|
|
|
}
|