The background stays pristine, but your entire silhouette is violently moshed.
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); // 1 = subject, 0 = background. A hard-ish threshold keeps the silhouette solid. float d = depthAt(vUv); float mask = smoothstep(0.3, 0.6, d); // Quantised block shifting, inside the mask only vec2 block = floor(vUv * uDensity) / uDensity; float seed = rand(block + floor(uTime * 8.0)); vec2 shift = (vec2(rand(block + 1.2), rand(block + 3.4)) - 0.5) * uAmount * 0.3 * mask * step(0.2, seed); vec3 moshed = texture2D(uTex, fract(vUv + shift)).rgb; // Posterise and tint the inside of the silhouette moshed = floor(moshed * 8.0) / 8.0; moshed *= vec3(0.8, 1.2, 1.0); gl_FragColor = vec4(mix(base.rgb, moshed, mask * clamp(uAmount * 1.5, 0.0, 1.0)), base.a); }