uniform sampler2D source; uniform vec2 size; uniform vec4 crop; uniform float alpha; out vec4 outColor; void main() { vec2 p = vec2(gl_FragCoord.x, size.y - gl_FragCoord.y) / size; vec4 c = texture(source, crop.xy + p * crop.zw); outColor = vec4(c.rgb, c.a * alpha); }