#version 330 core layout (location = 0) in vec3 aPosition; layout (location = 1) in vec3 aNormal; uniform mat4 modelView; uniform mat3 normalModelView; uniform mat4 projection; out vec3 normal; out vec3 fragmentPosition; void main() { normal = normalModelView * aNormal; gl_Position = projection * modelView * vec4(aPosition, 1.0); fragmentPosition = vec3(modelView * vec4(aPosition, 1.0)); }