One plugin.
10,000+ shaders.

Shader Engine brings ISF and Shadertoy shaders directly inside Resolume. Browse, import, edit, and perform — no shader knowledge required.

Free download — watermarked until unlocked — no account required

Available for: Windows · Mac

10k+
accessible shaders
Infinite
simultaneous instances
ISF
+ Shadertoy
Zero
crashes from incompatible shaders
New to shaders?

Shaders are just Resolume effects you haven't used yet

A shader is a small program that runs on your GPU to produce visual effects — gradients, fractals, fluid simulations, glitch, reaction-diffusion, and thousands more. Sites like Shadertoy host tens of thousands of them, made by artists and programmers around the world.

Without Shader Engine, getting those visuals into Resolume means writing your own FFGL plugin. With Shader Engine, you point it at a shader file and it runs.

You don't need to write code to use Shader Engine. But if you want to tweak or extend a shader, the editor is right there.

From zero to shaders in three steps

No shader knowledge required. If you can use a Resolume effect, you can use Shader Engine.

1

Install

Drop Shader Engine into your Resolume FFGL plugins folder and add it like any effect or source. No setup wizard.

2

Browse & import

Open the library browser from inside Resolume. Pick from your local collection or pull directly from Shadertoy and ISF.

3

Perform

Control shader parameters live. Run infinite instances at once.

Everything you need. Nothing you don't.

Shader Engine is a discovery, playback, editing, and performance platform — not just a player.

ISF Shader Playback

Load any ISF shader and render it in Resolume. Shader inputs automatically become Resolume controls — map them to MIDI, OSC, or anything else.

  • Multi-pass rendering
  • Audio-reactive via 256-bin FFT
  • Time, rate, and transport control

Shadertoy & ISF Import

Pull shaders directly from Shadertoy and ISF sources. The plugin translates Shadertoy GLSL into ISF-compatible shaders and loads them into your composition.

  • 10,000+ shaders accessible
  • Hosted proxy API for resilience
  • Clear translation error reporting

Recursive Library Browser

Browse your entire local shader library from inside Resolume. Use your own folder structure — the browser scans recursively and doesn't force a proprietary format.

  • Hover preview before loading
  • Export shaders as ISF
  • Fully offline

Built-in Shader Editor

Modify shader code without leaving Resolume. Edit imported or local shaders, see compilation errors in real time, and iterate without disrupting your composition.

  • Real-time error reporting
  • Bad code never crashes Resolume
  • Edit-preview loop
Built for Live Performance

Resilient enough for the stage

Shader Engine is designed for Resolume users who perform live. Incompatible shader code fails gracefully — your composition stays running and you see exactly what went wrong.

160+ simultaneous instances tested
Shader Engine is optimized and show-ready! Put as many instances in your composition as your GPU can handle! Maybe Resolume will add GPU usage to FPS & Stats?
Offline-first local playback
Your local shader library always works. Remote discovery degrades gracefully when there's no internet — core playback is never network-dependent.
Async shader loading
Parsing runs off the GL thread. Loading a whole clip column produces gradual loading without interrupting playback.
ShaderEngine — runtime log
[ShaderEngine] SetTextParameter: async parse started: "Equirectangular.isf"
[ShaderRuntime] loadShader: spec valid, title='Equirectangular' controls=9 passes=0
[ShaderRuntime] loadShader: shader compiled OK
[ControlRegistry] constructor: entry, 2 controls
[ControlRegistry] initializing control 'perspective' kind=0
[ControlRegistry] initializing control 'zoom' kind=0
[ControlRegistry] constructor: complete
[PassManager] constructor: entry, 0 passes, output=1920x1080
[ShaderEngine] mapShaderControlsToParameters: Mapping 2 controls
[ShaderEngine] Mapping parameter 'perspective': min=0 max=1 normalized=1
[ShaderEngine] Mapping parameter 'zoom': min=0 max=1 normalized=0.5
[ShaderEngine] finishShaderLoad: success: "Equirectangular.isf"