Heat-vision colormap.
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); // Range narrows or widens the temperature window. float l = clamp((dot(c.rgb, vec3(0.299,0.587,0.114)) - 0.5) * mix(0.45, 2.6, uRange) + 0.5, 0.0, 1.0); vec3 cold = vec3(0.05,0.0,0.4); vec3 mid = vec3(0.95,0.2,0.6); vec3 hot = vec3(1.0,1.0,0.4); vec3 t = mix(cold, mid, smoothstep(0.0,0.5,l)); t = mix(t, hot, smoothstep(0.5,1.0,l)); gl_FragColor = vec4(mix(c.rgb, t, uAmount), c.a); }