The room behind you is moshed; the subject stays clean. The depth proxy is a soft subject estimate, so it reads as foreground vs background rather than true distance.
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); // d is 1 on the subject, 0 on the room behind them. float d = depthAt(vUv); // Clearance sets how far down the depth ramp the clean zone reaches. float cleanZone = smoothstep(0.8 - uClearance * 0.4, 1.0, d); float mask = (1.0 - cleanZone) * uAmount; // Block-shift + RGB split, only where the mask lets it through. vec2 block = floor(vUv * 40.0); float shift = (rand(block + floor(uTime * 8.0)) - 0.5) * 0.2 * mask; vec3 moshed; moshed.r = texture2D(uTex, fract(vUv + vec2(shift * 1.5, 0.0))).r; moshed.g = texture2D(uTex, fract(vUv + vec2(shift, 0.0))).g; moshed.b = texture2D(uTex, fract(vUv - vec2(shift * 0.5, 0.0))).b; gl_FragColor = vec4(mix(base.rgb, moshed, clamp(mask * 1.5, 0.0, 1.0)), base.a); }