xLights sharing: Shader preset sharing

Benslights

Dedicated elf
Joined
May 2, 2010
Messages
2,877
Location
Elderslie
With the new Shader effect on Xlights a few of us thought we need location to share these.

So if you would like to share your presets on the shader effect please post a link to its download here

If you share a preset, it has to include all the images and video. You aren't actually packaging a preset, just saving a copy of the xml data
 
Last edited:
There was an Xlights Gems video posted a couple of days ago about Xlights 2026 and it's reporting of broken shader files. Previously Xlights would silently skip faulty shaders. Now it will report if you have a shader that has a problem. The video shows an AI fix for the shaders. I got Claude AI on the job and batch processed all of the shaders that I have. That batch contained plenty of shaders that are used in lots of shared sequences from the drive etc, a number from this thread and others that I have found and found useful. Attached is a zip file Claude created with checked/repaired shaders.


View: https://www.youtube.com/watch?v=IfHz2URxiCA&t


Report from Claude AI
Here's what I found and did:

What xLights actually uses: each .fs file is a self-contained ISF (Interactive Shader Format) shader — the JSON block in the /* ... */ comment at the top defines the UI controls, and xLights' GL renderer supplies TIME, RENDERSIZE, etc. The .json files in your zip are just leftover metadata from the site you downloaded these from (they even embed a copy of the shader source inside a rawFragmentSource field) — xLights never reads them, so they're not something that can "break."

The one real bug: Shaders/Shaders/RippleFactory.fs (a nested duplicate) wasn't a shader at all — it was an accidentally-saved GitHub webpage (full HTML/CSS/JS), not GLSL. That file would have failed to compile outright. The top-level RippleFactory.fs alongside it was the correct, valid version, so I dropped the corrupted duplicate.

Everything else checked out: I ran every .fs file through validation for:
  • Valid ISF JSON header syntax
  • Balanced braces/parens (catches truncated or corrupted files)
  • Presence of a main() entry point
  • Leftover Shadertoy-only syntax (iChannelN, iTime, fragColor, etc.) that wouldn't resolve in ISF
A handful of shaders reference Shadertoy-style names, but on inspection each one either aliases them properly (e.g. #define iTime TIME) or has that code path commented out — so no actual fixes were needed there.

Result: 72/72 shaders now pass validation with zero issues. The cleaned set is in the zip above, same folder structure, ready to drop into your xLights sequences.
 

Attachments

  • Shaders_fixed.zip
    194.2 KB · Views: 2
Back
Top