Spiral swirl from center.
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 p = vUv-0.5; float r = length(p); // Falloff sets how fast the twist dies with radius: tight vortex through // to a whole-frame rotation. float a = atan(p.y,p.x) + uAmount * pow(max(0.0, 1.0 - r), mix(0.35, 3.5, uFalloff)) * 3.0; gl_FragColor = texture2D(uTex, vec2(cos(a),sin(a))*r + 0.5); }