#version 330 core layout (location = 0) in vec3 aPos; layout (location = 1) in vec4 aColor; layout (location = 2) in vec4 aColorFar; layout (location = 3) in vec2 aTexCoord; uniform mat4 model; uniform mat4 view; uniform mat4 projection; out vec3 FragPos; out vec4 Color; out vec4 FarColor; out vec2 TexCoord; void main() { gl_Position = vec4(aPos, 1.0) * model * view * projection; FragPos = vec3(vec4(aPos, 1.0) * model); Color = aColor; FarColor = aColorFar; TexCoord = aTexCoord; }