The frame pushed into 3D relief and viewed off-axis.
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(){ // Luminance as a height field, marched as parallax slices. Unlike Relief // (which only lights a normal map) or Anaglyph (which splits colour), this // physically displaces the frame by depth, so the image reads as extruded // geometry seen from an angle. vec3 L = vec3(0.299, 0.587, 0.114); vec2 view = vec2(0.55, -0.35) * uAmount * 0.16; float steps = mix(4.0, 14.0, uLayers); vec3 col = texture2D(uTex, vUv).rgb; // Tracks the same sample the color comes from — the base pixel until a // slice hits, then whichever displaced position "won" — so a transparent // source's silhouette gets pushed into the same 3D relief as its color. float outA = texture2D(uTex, vUv).a; float found = 0.0; // March back along the view ray; the first slice whose height clears the // ray wins, which produces real occlusion between near and far tones. for (int i = 1; i < 15; i++) { if (float(i) > steps) break; float t = float(i) / steps; vec2 uv = vUv + view * t; vec4 hitTex = texture2D(uTex, clamp(uv, 0.0, 1.0)); float h = dot(hitTex.rgb, L); if (found < 0.5 && h > 1.0 - t * 1.15) { // Shade the extruded wall so the relief has visible sides. col = mix(col, hitTex.rgb * (0.45 + 0.75 * (1.0 - t)), uAmount); outA = hitTex.a; found = 1.0; } } // Rim light along the extrusion edge. float edge = abs(dot(texture2D(uTex, vUv + view * 0.35).rgb, L) - dot(texture2D(uTex, vUv).rgb, L)); col += vec3(0.55, 0.72, 1.0) * smoothstep(0.06, 0.3, edge) * uAmount * 0.55; gl_FragColor = vec4(col, outA); }