#version 330 in vec3 vPosition; in vec4 vColor; in vec3 vNormal; in vec2 vTexCoord; uniform mat4 model; uniform mat4 view; uniform mat4 projection; out vec4 color; out vec3 normal; out vec3 fragPos; out vec3 normalEye; out vec2 texCoord; void main() { vec4 pos = model * vec4(vPosition, 1.f); gl_Position = projection * view * pos; fragPos = vec3(pos); color = vColor; normal = mat3(transpose(inverse(model))) * vNormal; normalEye = vec3(view * vec4(normal, 0.0)); texCoord = vTexCoord; }