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; }