Blade is an innovative rendering solution for Rust. It starts with a lean low-level GPU abstraction focused at ergonomics and fun. It then grows into a high-level rendering library that utilizes hardware ray-tracing. It's accompanied by a task-parallel asset pipeline together with egui support, turning into a minimal rendering engine. Finally, the top-level Blade engine combines all of this with Rapier3D-based physics and hides them behind a concise API. Talks:
- In GPU we Rust (Rust AI meetup, 2024)
- Blade - lean and mean graphics library (Rust Graphics meetup, 2023)
- Blade asset pipeline (Rust Gamedev meetup, 2023)
- Blade scene editor (Rust Gamedev meetup, 2023)
Just the usual 🦀 workflow. E.g. to run the bunny-mark benchmark run:
cargo run --release --example bunnymarkThe full-stack Blade Engine requires Vulkan with hardware Ray Tracing support.
For web deployment, blade-graphics supports WebGPU with full compute shader support:
RUSTFLAGS="--cfg blade_wgpu" cargo run-wasm --example bunnymark| Platform | blade-graphics | blade-egui | blade-render | blade (engine) |
|---|---|---|---|---|
| Vulkan (Linux/Windows) | ✅ | ✅ | ✅ | ✅ |
| Metal (macOS/iOS) | ✅ | ✅ | ||
| WebGPU (Browser) | ✅ | ✅ | ||
| GLES/WebGL2 (Legacy) | ✅ | ✅ |
See WEBGPU.md for WebGPU backend details.