Everything redrawn as glowing hue-cycling neon tubing.
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(){ vec2 px = 1.0 / uResolution; vec3 L = vec3(0.299, 0.587, 0.114); float tl = dot(texture2D(uTex, vUv + px * vec2(-1.0,-1.0)).rgb, L); float tc = dot(texture2D(uTex, vUv + px * vec2( 0.0,-1.0)).rgb, L); float tr = dot(texture2D(uTex, vUv + px * vec2( 1.0,-1.0)).rgb, L); float ml = dot(texture2D(uTex, vUv + px * vec2(-1.0, 0.0)).rgb, L); float mr = dot(texture2D(uTex, vUv + px * vec2( 1.0, 0.0)).rgb, L); float bl = dot(texture2D(uTex, vUv + px * vec2(-1.0, 1.0)).rgb, L); float bc = dot(texture2D(uTex, vUv + px * vec2( 0.0, 1.0)).rgb, L); float br = dot(texture2D(uTex, vUv + px * vec2( 1.0, 1.0)).rgb, L); float gx = (tr + 2.0 * mr + br) - (tl + 2.0 * ml + bl); float gy = (bl + 2.0 * bc + br) - (tl + 2.0 * tc + tr); float e = length(vec2(gx, gy)); float t = mix(0.06, 0.9, uThreshold); float edge = smoothstep(t * 0.45, t, e); vec3 hue = hsv2rgb(vec3(fract(uTime * 0.06 + vUv.y * 0.35 + vUv.x * 0.15), 0.85, 1.0)); // Higher glow dims the plate further so the tubing reads as light. vec3 base = texture2D(uTex, vUv).rgb * mix(0.55, 0.08, uGlow); vec3 col = base + hue * edge * (0.6 + uGlow * 2.2) * (0.75 + uPulse * 0.8); gl_FragColor = vec4(col, texture2D(uTex, vUv).a); }