Brightness-driven horizontal smear.
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; vec4 c=texture2D(uTex,uv); float lum=dot(c.rgb,vec3(0.299,0.587,0.114)); // Soft gate, and capped below 1.0: a hard step() against a threshold that // could reach 1.0 passed nothing at all, so the sort disappeared at the top // of its own range. smoothstep also gives the sort a feathered edge. float s=smoothstep(uThreshold, uThreshold+0.18, lum)*uAmount; float n=noise(vec2(uv.y*120.0,uTime*0.3)); uv.x = mix(uv.x, fract(uv.x + (n-0.5)*1.1*s + s*0.35), s); gl_FragColor = texture2D(uTex,uv); }