#version 450

layout(push_constant) uniform constants {
    mat4 model;
    vec4 color;
    vec4 config; // [0]hasTexture
};

layout(location = 0) in vec3 aVertexPos;
layout(location = 1) in vec2 aVertexCoord;

layout(location = 0) out vec2 oFragTexCoord;
layout(location = 1) out vec4 oColor;
layout(location = 2) out vec4 oConfig;

void main() {
    oColor = color;
    oConfig = config;
    oFragTexCoord = vec2(aVertexCoord.x, 1 - aVertexCoord.y);
    gl_Position = model * vec4(aVertexPos, 1);
}
