terrain-gen/shaders/water.vert

31 lines
832 B
GLSL

#version 400 core
in vec3 in_position;
in vec3 in_normal;
uniform mat3 u_normalMatrix;
uniform mat4 u_model;
uniform mat4 u_view;
uniform mat4 u_projection;
uniform vec4 u_lightPos;
uniform int u_time;
uniform int u_reflexionPass;
out vec3 normalWorldSpace;
out vec3 tangentWorldSpace;
out vec3 binormalWorldSpace;
out vec4 worldSpacePosition;
out vec4 landPosition;
flat out mat4 projectionViewMat;
void main() {
vec4 position = vec4(in_position.x, 0, in_position.z, 1.0);
worldSpacePosition = u_model * position;
landPosition = u_model * vec4(in_position, 1);
projectionViewMat = u_projection * u_view;
gl_Position = projectionViewMat * worldSpacePosition;
normalWorldSpace = vec3(0, 1, 0);
tangentWorldSpace = mat3(u_view) * vec3(1, 0, 0);
binormalWorldSpace = mat3(u_view) * vec3(0, 0, 1);
}