#version 460 core

layout (location = 0) in vec3 a_pos;
layout (location = 1) in vec3 a_color;
layout (location = 2) in vec2 a_tex_coord;

layout (std140, binding = 0) uniform Matrices {
    mat4 view;
    mat4 projection;
};

layout (location = 0) out vec4 tex_color;
layout (location = 1) out vec2 tex_coord;

void main() {
    vec3 offset = vec3(0.0, 0.0, -1.0);
    gl_Position = projection * view * vec4(a_pos + offset, 1.0);
    tex_color = vec4(a_color, 1.0);
    tex_coord = a_tex_coord;
}

