in vec2 position; in vec2 texcoord; uniform vec2 texcrop; uniform vec2 offsetXY; uniform vec2 sizeWH; out vec2 Texcoord; void main() { Texcoord = texcoord * texcrop; // Coordinates are [0.0;1.0], transform [-1.0; 1.0] and flip Y vec2 pos = offsetXY + position * sizeWH; pos.x = pos.x * 2.0 - 1.0; pos.y = -1.0 * (pos.y * 2.0 - 1.0); gl_Position = vec4(pos, 0.0, 1.0); }