drag and drop control points a, b, c, d!
triangle a-e-f encloses the convex rectangle a-b-c-d
the relative distances of the 3 points on each border
are for uniform input float values for a custom shader
that, with the texture coordinate vertex attributes,
map a rectangle inside a single triangle.
triangles b-e-c and d-c-f are to be clipped away in the shader
open challenge: derive a solution that uses two triangles
for a continuous bilinear mapping and doesn't doesn't waste 1 pixel
that, or shader compilers do not run every branch either way