Fly into an infinite zoom-spiral — the archetypal VJ tunnel remapped from your live feed.
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 = max(length(p), 0.0001); float a = atan(p.y, p.x); float tunnel = -log(r) * uZoom * 0.5 + uTime * uSpeed * 0.4; float spinUv = a / 6.2831853 + uTime * uSpin * 0.05; vec2 tuv = vec2(fract(spinUv + 0.5), fract(tunnel)); tuv.x += sin(tuv.y * 6.2831853 + uTime * 0.3) * 0.015 * uZoom; vec4 c = texture2D(uTex, tuv); float depth = fract(tunnel); c.rgb *= 0.2 + 0.8 * (depth * depth); c.rgb *= smoothstep(0.0, 0.15, r); gl_FragColor = c; }