Source imagery woven into curling, tapered ribbons. Floating shape for FX Stack stickers.
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 base = texture2D(uTex, vUv); vec2 p = (vUv-0.5) * vec2(uResolution.x/max(uResolution.y,1.0),1.0); float t = uTime*uSpeed; float coverage = 0.0; vec2 sampleUv = vUv; float shade = 1.0; for(int i=0;i<3;i++) { float k = float(i); float angle = (k-1.0)*0.55 + sin(t*0.3)*0.2; mat2 rot = mat2(cos(angle),-sin(angle),sin(angle),cos(angle)); vec2 q = rot*p; float wave = sin(q.x*9.0+t+k*2.1)*(0.025+uCurl*0.10); wave += sin(q.x*17.0-t*0.7+k)*uCurl*0.025; float center = (k-1.0)*0.13 + wave; float taper = 1.0-smoothstep(uSize*0.30,uSize*0.65,abs(q.x)); float width = uWidth*(0.5+0.5*cos(q.x*6.0+t+k))*taper; float d = abs(q.y-center); float m = (1.0-smoothstep(width,width+0.006,d))*taper; if(m>coverage) { sampleUv = clamp(vUv + vec2(sin(q.x*8.0+t+k),cos(q.x*5.0-t))*uCurl*uAmount*0.045,0.0,1.0); shade = 0.75+0.40*cos((q.y-center)/max(width,0.002)*1.6); } coverage=max(coverage,m); } vec4 art=texture2D(uTex,sampleUv); art.rgb*=shade; gl_FragColor=floatingResult(base,art,coverage); }