| [3824] | 1 | varying vec4 refrCoords;  | 
|---|
 | 2 | varying vec4 normCoords;  | 
|---|
 | 3 | varying vec4 viewCoords; | 
|---|
 | 4 | varying vec4 viewTangetSpace; | 
|---|
 | 5 | varying vec4 lightTangetSpace; | 
|---|
 | 6 |  | 
|---|
 | 7 | uniform vec4 lightPos, cameraPos; | 
|---|
 | 8 |  | 
|---|
 | 9 |  | 
|---|
 | 10 | void main() | 
|---|
 | 11 | { | 
|---|
 | 12 |         // Because we have a flat plane for water we already know the vectors for tangent space | 
|---|
 | 13 |         vec4 tangent = vec4(1.0, 0.0, 0.0, 0.0); | 
|---|
 | 14 |         vec4 normal = vec4(0.0, 1.0, 0.0, 0.0); | 
|---|
 | 15 |         vec4 biTangent = vec4(0.0, 0.0, 1.0, 0.0); | 
|---|
 | 16 |  | 
|---|
 | 17 |         // Calculate the vector coming from the vertex to the camera | 
|---|
 | 18 |         vec4 viewDir = cameraPos - gl_Vertex; | 
|---|
 | 19 |  | 
|---|
 | 20 |         // Compute tangent space for the view direction | 
|---|
 | 21 |         viewTangetSpace.x = dot(viewDir, tangent); | 
|---|
 | 22 |         viewTangetSpace.y = dot(viewDir, biTangent); | 
|---|
 | 23 |         viewTangetSpace.z = dot(viewDir, normal); | 
|---|
 | 24 |         viewTangetSpace.w = 1.0; | 
|---|
 | 25 |  | 
|---|
 | 26 |         // Calculate the vector that the light hits the vertex | 
|---|
 | 27 |         vec4 lightDir = lightPos - gl_Vertex; | 
|---|
 | 28 |  | 
|---|
 | 29 |         // Compute tangent space for the light direction | 
|---|
 | 30 |         lightTangetSpace.x = dot(lightDir, tangent); | 
|---|
 | 31 |         lightTangetSpace.y = dot(lightDir, biTangent); | 
|---|
 | 32 |         lightTangetSpace.z = dot(lightDir, normal); | 
|---|
 | 33 |         lightTangetSpace.w = 1.0; | 
|---|
 | 34 |  | 
|---|
 | 35 |         refrCoords = gl_MultiTexCoord1; | 
|---|
 | 36 |         normCoords = gl_MultiTexCoord2; | 
|---|
 | 37 |  | 
|---|
 | 38 |         // This calculates our current projection coordinates | 
|---|
 | 39 |         viewCoords = gl_ModelViewProjectionMatrix * gl_Vertex; | 
|---|
 | 40 |  | 
|---|
 | 41 |         gl_Position = viewCoords; | 
|---|
 | 42 | } | 
|---|