Voodoo - A high-performance Vulkan® API for Rust
Features:
- An intuitive and idiomatic interface
- Zero additional overhead
- No unnecessary allocations
- No intermediate structs or extra copying
- Builders compile to direct assignment
- Thread-safe allocation / destruction
- Safety escape hatches available everywhere
- A minimum of boilerplate
- Non-opinionated and nothing hidden
- Complete API coverage
Getting Started
Ensure that Vulkan drivers are installed for your device. Add the following to your project's Cargo.toml:
[]
= "0.1"
And add the following to your crate root (lib.rs or main.rs):
extern crate voodoo;
Example
Create an instance:
extern crate voodoo;
use ;
use CString;
/// Initializes and returns a new loader and instance with all available
/// extension function pointers loaded.
See hello.rs for a complete, working example adapted from
https://vulkan-tutorial.com/.
Status
- API coverage:
- Core: 100%
- Extensions: 70%
- Documentation: 5%
- Stability: 90%
Other Vulkan libraries in Rust
For a higher level, more opinionated Vulkan API (that does more for you) see the Vulkano project.
Other similar libraries include dacite and ash.
“Vulkan and the Vulkan logo are registered trademarks of the Khronos Group Inc.”