learnopengl/shaders/vert.glsl

30 lines
583 B
GLSL

#version 330 core
layout(location=0) in vec3 position;
layout(location=1) in vec3 normal;
layout(location=2) in vec2 uv;
uniform mat3 normal_mat;
uniform mat4 model;
layout (std140) uniform Common {
mat4 projection;
mat4 view;
vec3 camera_position;
};
// interface block
out VS_OUT {
vec3 vert_normal;
vec3 frag_position;
vec2 uv_coords;
} vs_out;
void main() {
vs_out.frag_position = vec3(model * vec4(position, 1.0));
vs_out.vert_normal = normal_mat * normal;
vs_out.uv_coords = uv;
gl_Position = projection * view * model * vec4(position, 1.0);
};