Sources
Sources are the visual pattern generators that create the base visual content in FXCanvas. They produce animated colors and patterns that form the foundation of your lighting design, which can then be enhanced with effects and mapped to your fixtures.

What are Sources?
A source is a GPU-accelerated shader that generates animated visual patterns. Each source type produces a distinct visual style, from smooth flowing gradients to rhythmic pulsing rings.
Sources are designed specifically for lighting applications:
- Color palette integration — Sources use the active color palette rather than fixed colors
- BPM sync ready — Parameters like Speed can sync to the beat for music-reactive visuals
- Low resolution optimized — Patterns are designed to look great even at LED fixture resolutions
Think of sources as your visual starting point. You select a source, adjust its parameters, and the output feeds into your effects chain before being mapped to fixtures.
Using the Source Presets Panel
The Source Presets panel is your library of available sources and saved configurations.
Browsing Sources
Sources are organized in a hierarchical tree view grouped by type:
- Continuous — Sources with continuous time-based animation
- BPM — Sources synchronized to the beat/BPM
- ISF Shaders — ISF (Interactive Shader Format) shaders imported or added manually
- Type headers — Click the arrow to expand/collapse a source type
- Preset list — Individual presets appear under each type
- Icons — A cube icon indicates built-in presets, a user icon indicates your custom presets

Loading a Source
There are two ways to load a source:
- Double-click the type header — Loads the source with default parameter values. This is the quickest way to try a new source type.
- Double-click a preset — Loads the source with the preset's saved parameter values. Use this when you want a specific look.
Hover over any type header or preset to see a tooltip with more information.
View Mode Filters
At the top of the panel, toggle buttons filter which presets are shown:
| Icon | Filter | Description |
|---|---|---|
| Cube | Built-In | Factory presets that ship with FXCanvas |
| User | My Presets | Custom presets you've created |
| Theater masks | In Show | Presets saved to the current show file |
You can enable multiple filters at once to see presets from different categories.
Type Filter
Use the dropdown to filter by source type:
- All Sources — Show every available source type
- Individual types — Select a specific type to focus on one category
Source Parameters Panel
The Source Parameters panel displays controls for the currently active source.

Panel Header
The header shows:
- Preset indicator — Shows "Preset: [Name]" when a preset is loaded, or "Preset: Not Saved*" when parameters have been modified
- Source type — The underlying source type displayed as "Type: [name]"
When a preset has unsaved changes, the preset label displays in orange text with an asterisk (*) appended. The panel tab also shows an orange overline to indicate unsaved content.
Common Parameters
While each source has its own parameters, many share these common ones:
| Parameter | Description |
|---|---|
| Speed | Controls how fast the pattern animates. Higher values create more energetic movement. |
| Softness | Controls edge hardness. Lower values create sharp edges, higher values create smooth transitions. |
Other parameters vary by source type. Select a source to see its specific parameters in the panel.
BPM Sync for Parameters
Any numeric parameter can be synced to the beat:
- Right-click a parameter to access BPM sync options
- When synced, the parameter oscillates between a min and max range in time with the beat
- The sync indicator pulses to show the current beat phase
Speed is especially powerful when synced to the beat — patterns surge and relax with the music.
Saving Changes
- Save — Updates the current preset with your changes (only for user presets, not built-in)
- Save As... — Creates a new preset with a custom name
Built-in presets cannot be overwritten. Use Save As to create your own version.
Available Sources
FXCanvas ships with 25 built-in sources. Many are beat-reactive — they animate on each beat when BPM sync is active. See the Sources Reference for full parameters and preview videos.
| Source | Description |
|---|---|
| Bars | Horizontal, vertical, or diagonal bars that scroll across the canvas |
| Blobs | Raymarched 3D metaballs with glass-like refraction |
| Bricks | Brick-wall pattern where each brick draws a palette color, with beat-synced animation |
| Bubble | An expanding, wobbling bubble that pops on each beat |
| Curvature | 3D parametric curve visualization with curvature-based coloring |
| Data Patterns | Matrix-style flowing data streams with polar distortion |
| Drift | Organic, slow-moving color regions that drift like ink in water |
| Explosion | Explosive bursts that trigger on each beat at randomized locations |
| Flow | Smooth, organic flowing gradients using the full palette |
| Gradient | Smooth linear or radial color gradients through the palette |
| Lighthouse | A rotating lighthouse beam sweeping in a circular motion |
| Octopus | Swirling tentacle patterns inspired by WLED |
| Plasma | Classic organic plasma from sine-wave interference |
| Pulse | Radial pulsing color rings from a configurable center |
| Rain | Falling droplets synced to the beat |
| Rainbow Road | Light bars racing into the distance with rainbow colors |
| Ripple Pop | Ripple waves that trigger on each beat and collide |
| Scanner | Knight Rider–style scanning beam |
| Shape Expand | An expanding shape (circle, square, hexagon…) that pops on each beat |
| Sphere Cavern | Flight through an infinite cavern of repeating spheres with fog |
| Spiral | Rotating spiral arms emanating from a center point |
| Sweep | A horizontal sweep that triggers on each beat |
| Voronoi | Animated Voronoi cells with multiple display modes |
| Warp Speed | Hyperspace tunnel effect with streaking stars |
| Wave | Sinusoidal waves of color rolling across the canvas |
Working with Source Presets
Creating Custom Presets
To save your current source configuration:
- Adjust source parameters to your liking
- Click Save As... in the Source Parameters panel
- Enter a name for your preset
- Click Save
Your preset appears in the Source Presets panel under My Presets.
Managing Presets
Right-click any preset to access the context menu:
| Action | Description |
|---|---|
| Load | Apply this preset to the current source |
| Rename | Change the preset name (user presets only) |
| Add to Show | Copy the preset to your current show file |
| Delete | Remove the preset (user presets only) |
Built-in presets cannot be renamed or deleted.
Preset Storage Locations
FXCanvas stores presets in different locations:
- Built-in presets — Ship with the application, read-only
- User presets — Stored in your user profile, available across all shows
- Show presets — Saved within a show file, travel with the show
Use Add to Show to include a preset in your show file for portability.
Tips and Best Practices
Choosing Sources for Different Scenarios
Ambient / Background
- Use calm, flowing sources (Drift, Flow, Gradient, Plasma, Pulse) for relaxed atmospheres
- Lower speed values create peaceful, meditative moods
- Enable BPM sync with wide ranges for subtle musical response
High Energy / Drops
- Use punchy, rhythmic sources (Bars, Scanner, Spiral, Wave) for high-energy looks
- Higher speeds and lower softness values increase intensity
- BPM sync with tight ranges creates strong beat-locked movement
Performance Considerations
Sources are GPU-accelerated and generally lightweight. If experiencing performance issues with complex shows, consider reducing the number of stacked effects rather than simplifying sources.
ISF Sources
FXCanvas supports loading ISF (Interactive Shader Format) shaders as sources. ISF is an open standard for creating GPU-accelerated visual generators, and there's a large community library of free ISF shaders available online.
Importing from editor.isf.video
The easiest way to add ISF shaders is to import them directly from the ISF Editor community library:
- Browse shaders at editor.isf.video and find one you like
- Copy the shader URL from your browser (e.g.
https://editor.isf.video/shaders/5e7a80187c113618206dec3a) - In FXCanvas, go to File → Import ISF Shader...
- Paste the URL and click Import
FXCanvas downloads the shader, classifies it as either a Source or Effect, and saves it to the appropriate folder. After import, click Refresh in the presets panel to see it.
Importing a User's Full Library
You can also import all shaders from a user's profile at once:
- Navigate to a user's profile on editor.isf.video (e.g.
https://editor.isf.video/u/username) - Copy the profile URL
- Use File → Import ISF Shader... and paste the profile URL
All of the user's public shaders will be downloaded and classified automatically.
Adding ISF Sources Manually
To add an ISF source manually:
- Place the
.fsor.isffile in your Sources folder - Click Refresh in the Source Presets panel
- The ISF source appears in the list, ready to use
ISF sources work just like built-in sources — they support BPM sync, audio reactivity, and presets.
Palette Integration
FXCanvas automatically integrates ISF sources with the palette system. When an ISF shader contains a color generation function (such as getFragColor, getColor, or palette), FXCanvas replaces it at load time with a palette-aware version. This means:
- ISF sources that originally had hardcoded colors will use your active palette instead
- Changing palettes instantly changes the colors of ISF sources
- Palette transitions work smoothly with ISF sources
This replacement happens transparently — the original ISF file is never modified. If an ISF source doesn't contain a recognized color generation pattern, it keeps its original colors.
Not all ISF shaders have detectable color generation functions. Shaders that compute colors inline in main() rather than through a named function will retain their original colors.
ISF Parameters
ISF shaders declare their own parameters (sliders, toggles, color pickers, etc.) which appear in the Source Parameters panel just like built-in source parameters. All ISF parameter types are supported:
| ISF Type | FXCanvas Control |
|---|---|
| Float | Slider with min/max range |
| Bool | Toggle checkbox |
| Long (with labels) | Dropdown menu |
| Long (without labels) | Integer slider |
| Color | Color picker |
| Point2D | Two sliders (X and Y) |
Related Topics
- Video Inputs — Use external video feeds (webcams, NDI, Spout/Syphon, DeckLink) as sources
- Video Playback — Play back video and image files from your drive
- Sources Reference — Complete parameter reference for all source types
- BPM Sync — Synchronize source parameters to the beat
- Getting Started — Overview of FXCanvas basics