#version 450
#extension GL_ARB_separate_shader_objects : enable

layout(location = 0) out vec3 fragColor;

layout( push_constant ) uniform constants{
    mat4 mvp;
};

void main()	{
    vec3 positions[3] = {
        vec3(-0.5, 0.5, -1),
        vec3( 0.5, 0.5, -1),
        vec3(0, -0.5, -1)
    };
    
    vec3 colors[3] = {
        vec3(1, 0, 0),
        vec3(0, 1, 0),
        vec3(0, 0, 1)
    };

	gl_Position = mvp * vec4(positions[gl_VertexIndex], 1.0);
	fragColor = colors[gl_VertexIndex];
}