Iridescent thin-film interference based on luminance.
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 l = dot(c.rgb, vec3(0.299,0.587,0.114)); float angle = l*uFreq + uTime*0.3 + noise(vUv*4.0)*2.0; vec3 oil = 0.5 + 0.5*cos(angle + vec3(0.0, 2.094, 4.188)); gl_FragColor = vec4(mix(c.rgb, c.rgb*oil*1.5, uAmount), c.a); }