#version 330 core
// Purpose: Lens flare package vertex shader; expands a procedural screen-space quad around a flare source.

uniform vec2 uCenterNdc;
uniform vec2 uHalfSizeNdc;

out vec2 vLocal;

void main()
{
    const vec2 corners[6] = vec2[6](
        vec2(-1.0, -1.0),
        vec2( 1.0, -1.0),
        vec2( 1.0,  1.0),
        vec2(-1.0, -1.0),
        vec2( 1.0,  1.0),
        vec2(-1.0,  1.0)
    );

    vec2 local = corners[gl_VertexID];
    vLocal = local;
    gl_Position = vec4(uCenterNdc + local * uHalfSizeNdc, 0.0, 1.0);
}
