Releases: schwwaaa/scheng
Releases · schwwaaa/scheng
scheng v0.1.0
GPU-accelerated video synthesis SDK for Rust. Build real-time shader instruments
with full professional I/O.
Core Engine
- wgpu Metal/DX12/Vulkan render pipeline with hot-reload GLSL shaders
- Rgba16Float internal render targets (16-bit precision, no banding)
- MSAA anti-aliasing (--msaa 4)
- 4K resolution support
- bt.709 colorspace throughout
- Custom shader uniforms (u_*) wired to MIDI/OSC via NodeConfig
- Graph-based node system with multi-input/output routing
Inputs
- MIDI CC → uniform parameters (real-time, smoothed)
- OSC → uniform parameters
- Webcam (nokhwa, MJPEG/YUYV fallback)
- Video file playback (ffmpeg-next 8, looping, BICUBIC scaling)
- NDI receive (grafton-ndi 0.11)
- Syphon receive (ObjC Metal bridge, macOS)
- RTMP/RTSP/SRT live stream receive (ffmpeg subprocess)
Outputs
- Syphon (Metal texture sharing, macOS)
- NDI (NewTek SDK)
- Spout (Windows, stub)
- RTMP stream (→ OBS, Twitch, YouTube, nginx-rtmp)
- RTSP stream (→ mediamtx, VLC)
- File recording (H.264/ProRes via ffmpeg pipe)
Templates
scheng-gradient— minimal hot-reload shader starterscheng-mixer— two Syphon inputs, MIDI T-bar crossfadescheng-processor— webcam + solarize effect, MIDI controlsscheng-video-mixer— two video files, MIDI T-bar crossfade
Quality
- Rgba16Float pipeline eliminates quantization error across processing passes
- bt.709 colorspace tags on all FFmpeg output
- BGRA→RGBA swap for Syphon Metal textures
- Persistent SyphonServerDirectory (no re-entrancy crashes)
- Zero warnings across workspace
Requirements
- Rust 1.75+
- macOS (Metal), Windows (DX12), Linux (Vulkan)
- ffmpeg in PATH for video/stream features
- Syphon.framework in vendor/ for Syphon I/O (macOS)
- NDI SDK installed for NDI I/O
New GUI Editor
gui-v1 added new GUI/editor system