A comprehensive standalone WGPU shader studio with ISF (Interactive Shader Format) support. Professional shader development environment for VJ artists, developers, and creative coders.
- Standalone WGPU Shader Studio: Complete graphical development environment
- ISF Shader Support: Full Interactive Shader Format compatibility
- Cross-Platform Shader Development: WGSL/GLSL/HLSL conversion and editing
- Professional VJ Tools: Real-time audio analysis, MIDI control, live preview
- Node-Based Visual Programming: Drag-and-drop shader composition
- Live Preview System: Real-time WGPU rendering viewport
- WGSL Syntax Highlighting: Advanced code editor with error detection
- Node-Based Editor: Visual programming interface for shader composition
- Template Library: 15+ categorized shader templates and examples
- WGSL First-Class: Native WebGPU shader language support
- Cross-Platform Conversion: WGSL ↔ GLSL ↔ HLSL bidirectional conversion
- ISF Import/Export: Full Interactive Shader Format compatibility
- Batch Processing: Multiple file conversion operations
- Real-Time Audio Analysis: FFT-based spectral analysis with beat detection
- MIDI Control: Full parameter mapping with smoothing and automation
- Audio-Reactive Shaders: Combined audio/MIDI parameter modulation
- Performance Optimized: Low-latency real-time processing
- Advanced File Management: Native OS dialogs with recent files
- Performance Monitoring: Real-time FPS tracking and optimization
- Shader Visualizer: AST visualization and dependency graphs
- Context Menus & Shortcuts: Full keyboard shortcut system
- Rust 1.70+
- WebGPU-compatible graphics card
- Optional: MIDI controller for parameter automation
# Clone the repository
git clone https://github.com/compiling-org/wgsl-shader-studio.git
cd wgsl-shader-studio
# Build in release mode
cargo build --release
# Run the GUI application
cargo run --features gui -- --gui
# Or run CLI tools
cargo run -- list # List available ISF shaders
cargo run -- validate file.fs # Validate ISF shader
cargo run -- convert input.fs output.wgsl # Convert shader formats# Enable GUI features
cargo run --features gui -- --gui- Frontend Features Guide: Complete UI and feature documentation
- WGSL ↔ GLSL Guide: Shader format conversion reference
- Node Shader Guide: Visual programming tutorial
- Create custom real-time visual effects
- Audio-reactive shader development
- Live performance shader manipulation
- Cross-software compatibility
- WebGPU shader prototyping
- Cross-platform shader development
- Shader format conversion tools
- Educational shader programming
- Visual programming interface
- Real-time shader experimentation
- Template-based development
- Performance-optimized rendering
- Rendering: WebGPU (WGPU) with real-time preview
- UI Framework: egui/eframe for responsive interface
- Audio Engine: Real-time FFT analysis with MIDI integration
- Shader Support: WGSL, GLSL, HLSL, ISF formats
- Performance: 60+ FPS GUI, real-time shader compilation
- Platform: Windows, macOS, Linux
- GUI FPS: 60+ frames per second interface
- Shader Compilation: <100ms compilation times
- Live Preview: Real-time rendering at target resolution
- Audio Latency: <10ms audio analysis latency
- Memory Usage: Optimized for continuous operation
This project is part of the broader compiling-org ecosystem. Contributions welcome for:
- Additional shader templates
- Performance optimizations
- New conversion formats
- UI/UX improvements
- Documentation enhancements
MIT License - see LICENSE file for details
- ISF Shaders: Sleepless Monk collection
- WGPU: WebGPU implementation for Rust
- egui: Immediate mode GUI framework
- rustfft: Audio analysis library
Ready for professional shader development and live VJ performance.