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