Flowing iridescent curtain overlay.
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(){ vec4 c = texture2D(uTex, vUv); float n = noise(vec2(vUv.x*3.0, vUv.y*8.0 + uTime*uSpeed)); n *= noise(vec2(vUv.x*7.0 - uTime*uSpeed*0.5, vUv.y*2.0)); vec3 aurora = hsv2rgb(vec3(0.4 + vUv.y*0.3 + uTime*0.05, 0.8, 1.0)); gl_FragColor = vec4(c.rgb + aurora*n*uAmount*1.5, c.a); }