Understanding Shaders
You don’t need any of this to use Shader Engine — you can browse, load, and perform without reading a line of it. But a little context makes the plugin’s tabs and errors make sense. Here’s the whole story in plain terms.
What is a shader?
A shader is a tiny program that runs on your GPU and decides the color of every pixel, every frame. That’s it. Because it runs on the graphics card, a shader can produce things that would be impossibly slow otherwise — fluid simulations, fractals, plasma, glitch, reaction-diffusion, kaleidoscopes, tunnels — all generated in real time at full frame rate.
Think of a shader as a Resolume effect that someone already wrote for you. Without Shader Engine, getting one into Resolume meant building your own FFGL plugin. With Shader Engine, you point the plugin at a shader file and it runs.
What is ISF?
ISF (Interactive Shader Format) is an open standard for packaging a shader so that hosts like Resolume know how to run it and what knobs it exposes. An ISF shader is just GLSL code plus a small block of metadata describing its inputs — sliders, colors, toggles, points.
That metadata is why Shader Engine can turn a shader’s inputs into real Resolume parameters automatically. When you load an ISF shader, each input becomes a Control you can adjust, map to MIDI/OSC, or automate. ISF is Shader Engine’s native format.
ISF files usually end in .isf or .fs. Shader Engine also accepts .frag, .glsl, and
.json.
What is Shadertoy?
Shadertoy is a website where thousands of artists and programmers publish shaders — it’s the largest public collection of real-time shader art that exists. Shadertoy shaders are written in a slightly different dialect of GLSL than ISF expects, so they can’t be dropped into Resolume as-is.
Shader Engine bridges that gap: it translates Shadertoy GLSL into ISF on import, so a Shadertoy shader becomes something Resolume can run. Most translate cleanly; some use features (multi-buffer feedback, certain textures) that don’t map perfectly, and Shader Engine tells you clearly when a translation fails rather than pretending it worked. See Importing Shaders.
How it all fits together
| Term | What it is | Where it shows up in Shader Engine |
|---|---|---|
| Shader | A GPU program that draws every pixel | The thing you load and perform |
| GLSL | The language shaders are written in | What you see in the editor |
| ISF | Open shader-packaging format (GLSL + inputs) | Native format; the ISF tab and LOCAL library |
| Shadertoy | Huge public shader website (its own GLSL dialect) | The SHADERTOY tab; translated to ISF on import |
| FFGL | Resolume’s plugin standard | How Shader Engine itself plugs into Resolume |
The short version: Shader Engine speaks ISF natively, translates Shadertoy into ISF, and presents both to you as ordinary Resolume effects.
Next
- Importing Shaders — pull shaders from Shadertoy and ISF.
- Editing Shaders — see and tweak the GLSL behind a shader.