Horizontal strata, each one running on its own clock and sliding by its own depth. Time becomes a place.
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(){ float band = floor(vUv.y * max(2.0, uBands)); float h = rand(vec2(band, 4.2)); float age = fract(h * 3.31) * uTimeSpread; float d = depthAt(vUv); // Depth drives the lateral slide, so a band across the subject travels // further than the band above it crossing only wall. vec2 uv = vUv; uv.x += (h - 0.5) * uSlide * 0.24 * (0.25 + d); // timeAt only carries color; alpha follows this same slid uv in the // current frame instead. gl_FragColor = vec4(timeAt(uv, age), texture2D(uTex, uv).a); }