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.
u_mouse| 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) |