Frozen rolling scanline with frost crystals.
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 band = fract(vUv.y - uTime*uSpeed*0.1); // The frozen band covered 5% of the frame; widened so it actually sweeps. float freeze = smoothstep(0.34, 0.0, abs(band - 0.5)); float frost = noise(vUv*60.0 + band*10.0); // Displace inside the band too, so it reads as a frozen tear rather than a // faint tint. vec3 ice = vec3(0.7, 0.9, 1.0) * frost; c = texture2D(uTex, vUv + vec2((frost-0.5)*0.11*freeze, 0.0)); // Inside the band the image crystallises: desaturated, posterised, cold. float fl = dot(c.rgb, vec3(0.299,0.587,0.114)); vec3 frozen = mix(vec3(fl), c.rgb, 0.25) * vec3(0.72, 0.86, 1.12); frozen = floor(frozen * 7.0) / 7.0; c.rgb = mix(c.rgb, frozen, freeze * 0.85); gl_FragColor = vec4(mix(c.rgb, c.rgb*0.5 + ice, freeze*uAmount), c.a); }