Reflect across axis.
GLSL fragment shader
The effect's own code. The uniforms and helpers above it — uTex, uFeedback, the depth proxy, the frame ring, depthAt(), timeAt() — are the same header every Ether-MOSH shader opens with, and are documented once on the registry rather than reprinted on all 143 pages.
void main(){ vec2 uv = vUv; // Seam moves the fold off centre, turning a symmetric mirror into an // off-axis one and giving the pad a live second axis. if (uAxis < 0.5) uv.x = uv.x < uSeam ? uv.x/uSeam : (1.0 - uv.x)/(1.0 - uSeam); else uv.y = uv.y < uSeam ? uv.y/uSeam : (1.0 - uv.y)/(1.0 - uSeam); gl_FragColor = texture2D(uTex, clamp(uv, 0.0, 1.0)); }