1. Docs
  2. Understanding Shaders

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