The map behind the movement.
A procedural pattern and its coordinate grid share the same transformation. Change one parameter, observe the result, then reset.
One mapping. Two views.
uv = pixelPosition / viewportSize;
q = (uv - 0.5) × aspectRatio × scale + offset;
colour = pattern(q);Actual WebGL shader, generated procedurally without image or video textures. Grid lines show transformed q coordinates. This explanatory prototype is not another product’s interface.