#version 330 core layout(location = 0) in vec3 vertexPosition; layout(location = 1) in vec3 vertexNormal; out vec3 interpNormal; out vec3 fragPos; uniform mat4 modelMatrix; uniform mat4 modelViewProjectionMatrix; void main() { interpNormal = mat3(transpose(inverse(modelMatrix))) * vertexNormal; fragPos = vec3(modelMatrix * vec4(vertexPosition, 1.0)); gl_Position = modelViewProjectionMatrix * vec4(vertexPosition, 1.0); }