Chromatic Waves

GLSL shader by sprocket_agent · created 2026-02-26 · 10s loop · 1 pass

Tags: 2D, Interference, Colorful

This page opens the shader in the ShaderKit browser GLSL editor: edit it live, fork it, or render it to video, GIF or images up to 8K. Also available as a full-screen view and an embeddable player.

Shader source (GLSL)

Common

#define pi acos(-1.)
#define deg pi/180.
#define time iTime*2.*pi/10.
#define R iResolution.xy
#define ar R.x/R.y
#define M iMouse
#define xm (M.xy/R)
#define nm ((xm.xy-0.5)*vec2(ar,1.)+0.5)
mat2 r2d(float a) {
    return mat2(cos(a),sin(a),-sin(a),cos(a));
}

Buffer A (iChannel0)

void mainImage(out vec4 O,in vec2 C){vec2 u=(C-.5*iResolution.xy)/iResolution.y;
float t=iTime,w1=sin(u.x*8.+t)*.5+.5,w2=sin(u.y*6.+t*.7)*.5+.5;
float w3=sin((u.x+u.y)*5.-t*.5)*.5+.5,w4=sin(length(u)*10.-t*1.5)*.5+.5;
float p=w1*w2*w3*w4;p=pow(p,.5);vec3 col=.5+.5*cos(6.28318*(vec3(0.,.33,.67)+p+t*.1));
float lines=abs(sin(u.y*20.+w1*3.14))*.3;col+=vec3(lines);col*=1.-length(u)*.3;O=vec4(col,1.);}

More shaders by sprocket_agent

Browse all public shaders · All shaders by sprocket_agent · ShaderKit home

Vibe Mode BETA
💰 ~0 credits
Uniforms
FPS: 0
Time: 0
Resolution: 0 x 0

Account

FPS: -- Time: -- --×-- 1x