Rotate the entire color wheel.
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); vec3 hsv = rgb2hsv(c.rgb); hsv.x = fract(hsv.x + uAmount); // Rotating hue alone left the pad's Y axis dead; saturation is the natural // partner and runs this from washed out to electric. hsv.y = clamp(hsv.y * mix(0.15, 2.4, uVividness), 0.0, 1.0); gl_FragColor = vec4(hsv2rgb(hsv), c.a); }