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