#version 440 layout(location=0) in vec3 coord3d; layout(location=1) in vec3 v_normal; layout(location=2) in vec3 v_color; layout(location=3) in vec2 v_texmap; out vec2 TexCoords; out vec3 FragPos; out vec3 Normal; uniform mat4 mvp; uniform mat3 NormalMatrix; uniform mat4 ModelMatrix; void main(void) { Normal = NormalMatrix * v_normal; TexCoords = v_texmap; FragPos = (ModelMatrix * vec4(coord3d, 1.0f)).xyz; gl_Position = mvp * vec4(coord3d, 1.0f); }