A native, high-performance GLSL live-coding engine written in Rust.
shadecore is designed to function as a live-coded visual instrument, where
shaders, control mappings, and output routing remain mutable during execution.
Supported outputs
- FBO texture (local window)
- Syphon (macOS)
- Spout2 (Windows)
- FFmpeg streaming (RTSP / RTMP)
- NDI (separate execution mode)
Project Structure
shadecore/
├─ src/
│ └─ main.rs # Core engine loop
├─ native/
│ ├─ spout_bridge/ # C++ Spout2 bridge (Windows)
│ ├─ syphon_bridge.m # Objective-C Syphon bridge (macOS)
│ └─ syphon_bridge.h
├─ vendor/
│ └─ Syphon.framework # Vendored macOS framework
├─ assets/
│ ├─ params.json # Parameters + MIDI schema
│ ├─ output.json # Output routing & hotkeys
│ ├─ output_ndi.json # NDI-specific configuration
│ └─ shaders/
│ ├─ default.frag
│ └─ present.frag
├─ build.rs # Native linking & platform logic
└─ Cargo.toml