3dexperiments/assets/shaders/water.vs

26 lines
689 B
GLSL

precision mediump float;
attribute vec2 aVertexPosition;
uniform mat4 uModelMatrix;
uniform mat4 uViewMatrix;
uniform mat4 uProjectionMatrix;
uniform vec3 uCameraPosition;
uniform vec3 uLightPosition;
varying vec4 clipSpace;
varying vec2 uv;
varying vec3 toCameraVector;
varying vec3 fromLightVector;
const float tiling = 8.0;
void main() {
vec4 worldPosition = uModelMatrix * vec4(aVertexPosition.x, 0.0, aVertexPosition.y, 1.0);
clipSpace = uProjectionMatrix * uViewMatrix * worldPosition;
gl_Position = clipSpace;
uv = (aVertexPosition / 2.0 + 0.5) * tiling;
toCameraVector = uCameraPosition - worldPosition.xyz;
fromLightVector = worldPosition.xyz - uLightPosition;
}