31 lines
832 B
GLSL
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);
|
|
}
|