uniform vec2 screen_size;
uniform vec2 position;

attribute vec4 coords;

varying vec2 texture_coord_v;

void main(void)
{
    // Map coordinates such that:
    // (-0.5 .. screen_size.x-0.5) => (-1.0 .. 1.0)
    gl_Position = vec4(2.0 * (position.x + coords.x + 0.5) / screen_size.x - 1.0,
                       2.0 * (position.y + coords.y + 0.5) / screen_size.y - 1.0,
                       0, 1);
    texture_coord_v = coords.zw;
}
