#version 330 in vec3 vertexPosition; in vec3 vertexNormal; in vec2 vertexTexCoord; in vec4 vertexColor; out vec2 fragTexCoord; out vec4 fragColor; out vec3 fragPosition; out vec3 fragNormal; uniform mat4 matModel; uniform mat4 matNormal; uniform mat4 mvp; void main() { fragPosition = vec3(matModel*vec4(vertexPosition, 1.0)); fragTexCoord = vertexTexCoord; fragColor = vertexColor; fragNormal = normalize(vec3(matNormal*vec4(vertexNormal, 1.0))); gl_Position = mvp*vec4(vertexPosition, 1.0); }