GLITCH / SHADER LABWebGL2 GLSL Fragment Editor
✓ LIVE0fps|SEED:583234|
SIGNAL LOSSRGB corruption + scan tears33 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
AUTO UNIFORMS
float u_timevec2 u_resvec2 u_mousefloat u_seed
ARROWS move · SPACE glitch · ENTER next · 1-6 preset
the lab

A live GLSL fragment shader editor. The code runs on your GPU, right now, every frame. Edit a number and the output changes instantly. Break the syntax and the screen goes dark. There is no undo.

The presets are starting points, not destinations. SIGNAL LOSS gives you scan tears and RGB corruption. PLASMA FIELD gives you interference waves. FRACTAL VOID gives you Mandelbrot iteration. But the real material is the code itself — gl_FragCoord, u_time, u_mouse, and whatever math you can fit between void main() and the closing brace.

Every pixel on screen is the output of a function you wrote. The GPU runs that function millions of times per frame, once per pixel, in parallel. The language is GLSL ES 3.0 — typed, strict, compiled. No runtime errors. Either it compiles and runs, or it doesn't compile at all.

Start with a preset. Change a constant. Replace sin with cos. Multiply u_time by 10. See what happens. The fastest way to learn shaders is to break someone else's and watch what changes.

presets
SIGNAL LOSS
RGB corruption, scan tears, glitch blocks. The classic.
PLASMA FIELD
Interference waves. Additive sin functions at different frequencies.
FRACTAL VOID
Mandelbrot set with mouse-controlled zoom and iteration count.
REACTION DIFF
Gray-Scott reaction-diffusion approximation. Feed and kill parameters.
VOID PULSE
SDF circles with distance-field feedback and temporal glow.
PIXEL SORT
Simulated brightness-threshold pixel sorting with scan direction.
controls
Tab indent code
1-6 load preset
Ctrl+Enter recompile
mouse position maps to u_mouse
available uniforms
uniform type description
u_time float seconds since page load
u_res vec2 canvas resolution in pixels
u_mouse vec2 normalized mouse position (0-1)