Importing Shaders
Beyond your local library, Shader Engine can pull shaders straight from the web — the ISF database and Shadertoy — from inside Resolume. Open Browse Library and use the ISF or SHADERTOY tab.
The SHADERTOY tab
Shadertoy hosts tens of thousands of shaders. From the SHADERTOY tab you can:
- Search by keyword, or paste a Shadertoy URL / shader ID.
- Preview results before committing.
- Load or download a shader. On import, Shader Engine translates the Shadertoy GLSL into ISF so Resolume can run it, and saves it into your Shadertoy Cache folder.
About translation
Shadertoy uses a different GLSL dialect than ISF. Most single-pass shaders translate cleanly. Some rely on features that don’t map perfectly — multi-buffer feedback, specific channel inputs, cubemaps, or sound/keyboard textures — and those may translate partially or fail. When a translation fails, Shader Engine tells you clearly and does not present a broken import as a success. If it looks wrong, it is wrong, and you’ll know why.
If a shader nearly works, you can often finish the job by hand in the editor.
The ISF tab
The ISF tab searches the ISF shader database. Because these are already ISF, there’s no translation step — search, preview, and download straight into your library. Downloaded ISF shaders land in your ISF Cache folder.
How fetching works (and why it stays reliable)
Both tabs fetch through Shader Engine’s hosted proxy (headsta.sh) rather than hitting
the third-party sites directly. The proxy:
- smooths over changes and rate limits in the upstream APIs,
- adds functionality beyond the raw public APIs, and
- for Shadertoy, can fall back to the public Shadertoy API if the proxy is unavailable.
This is why remote discovery keeps working even when an upstream service is having a bad day.
Shadertoy API key (optional)
Shader Engine works without any credentials of your own. If you have a personal Shadertoy API key and prefer to use it, add it under Preferences → Shadertoy. You can also choose the Shadertoy and ISF providers there if you want to change the data source.
Offline and network failures
Importing needs a connection — but performing never does. Online discovery is kept separate from core local playback:
- Anything already in your library plays with no network at all.
- If a search or download fails, you get a clear message and your composition keeps running — a failed import never destabilizes a live set.
More on error messages in Troubleshooting.
After importing
Imported shaders behave exactly like local ones:
- They appear in the LOCAL tab (under the ISF Cache / Shadertoy Cache folders) and can be moved into your own folders.
- Their inputs become Resolume Control parameters — see Parameters & Live Performance.
- You can open them in the editor to tweak, fix, or extend them, and export as ISF to save a clean copy.
Next
- Editing Shaders — refine an import that needs a nudge.
- The Library Browser — organize what you’ve pulled in.