#version 330 core layout(location=0) in vec3 position; layout(location=1) in vec3 normal; out vec3 vert_normal; out vec3 frag_position; uniform mat3 normal_mat; uniform mat4 model; uniform mat4 view; uniform mat4 projection; void main() { vert_normal = normal_mat * normal; frag_position = vec3(model * vec4(position, 1.0)); gl_Position = projection * view * model * vec4(position, 1.0); };