#version 460 core layout(location = 0) in vec3 a_Position; layout(location = 1) in vec4 a_Tint; layout(location = 2) in vec2 a_TexCoord; layout(location = 3) in float a_TexID; struct VertexOutput { vec4 Tint; vec2 TexCoord; }; layout(location = 0) out VertexOutput Output; layout(location = 2) out flat float TexID; layout(std140, binding = 0) uniform Camera { mat4 view; mat4 projection; }; void main() { Output.Tint = a_Tint; Output.TexCoord = a_TexCoord; TexID = a_TexID; gl_Position = projection * view * vec4(a_Position, 1.0); }