An advanced IDE-like shader development environment with hybrid GPU/CPU/AI processing capabilities.
SuperShader is a professional-grade development environment for creating complex graphics applications. It features a two-process architecture:
- IDE Process: PyQt6-based interface for project management, configuration, and code editing
- Rendering Process: High-performance C++/OpenGL rendering engine with real-time visualization
- Create, load, and manage shader projects
- Support for hybrid projects combining GPU, CPU, and AI processing
- Configuration templates for common use cases
- Multi-language shader generation (GLSL, HLSL, Metal, WGSL)
- Syntax-highlighted code editor
- Real-time compilation and preview
- CPU and GPU shader execution
- Live preview of rendered scenes
- Performance metrics display
- Debug overlay system
- Frame analysis tools
- CPU-based shader execution engine
- AI-enhanced graphics features (denoising, upscaling, anti-aliasing)
- Physics simulation integration
- Post-processing effects
The application uses a two-process architecture for stability and performance:
[PyQt6 IDE Process] ←→ [C++ OpenGL Rendering Process]
│ │
├─ Project Management ├─ Real-time Rendering
├─ Configuration UI ├─ Shader Execution
├─ Code Editor ├─ Debug Visualization
└─ Process Management └─ Performance Metrics
- Python 3.8+
- C++ compiler (GCC, Clang, or MSVC)
- OpenGL 4.1+ compatible graphics driver
- CMake 3.12+
- Make (Linux/macOS) or Ninja (Windows)
-
Clone the repository:
git clone <repository-url> cd SuperShader
-
Install Python dependencies:
pip install -r requirements.txt
-
Build the C++ rendering engine:
# Using the provided build script: ./build_renderer.sh # Or manually: mkdir build cd build cmake .. make
-
Run the IDE:
python supershader_ide.py
-
Launch the IDE:
python supershader_ide.py
-
Create a new project or open an existing one
-
Configure your scene, lighting, and materials
-
Write and edit shaders using the integrated editor
-
View real-time results in the preview window
ide/- PyQt6-based IDE componentsrenderer/- C++ OpenGL rendering enginecore/- Shared components and utilitiesmodules/- Shader module definitionsexamples/- Sample projects and configurations
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please open an issue in the GitHub repository.