✅ Strong modern GPU focus - no legacy hardware compromises
🚀 Bindless by default – no descriptor management nor bindings
🛠️ Shader Build system, shader integration and host/shader code sharing utils
🧩 Convenient, efficient TaskGraph rendering framework
Daxa is a Vulkan-powered GPU abstraction purpose-built for modern graphics cards (>Turing, >RDNA, >Arc). Its streamlined design is directly informed by the capabilities and assumptions of modern architectures—delivering simplicity, deep shader integration, and predictable performance without legacy compromises.
Other than the focus on modern architecture only, what makes Daxa unique?
- buffers, images, samplers, and acceleration structures are all exclusively accessed via IDs or pointers
- very efficient on modern hardware
- dramatically simplifies code as it completely removes one of the largest and headache inducing parts of modern GFX APIs
- provides full shader build system with #include management, shader hot loading, SPIRV caching and more
- provides daxa GLSL and SLANG headers allowing for bindless and other daxa feature access in shaders
- provides daxa.inl file that allows you to write code shareable between host and shader via macros
- automatic synchronization between tasks, multiple separate TaskGraphs and queues
- efficient precompilation model: allows you to record graph once and execute it many times, significantly reducing CPU overhead
- tons of utilities within task callbacks such as linear scratch buffer allocator and automatic image view generation
- tons of validation checks with detailed error messages explaining the issue and potential solutions
- automatic graph optimizations: reordering of tasks in order to minimize barriers, memory-aliased transient resources to reduce memory use and more
- automatic deferring of resource destruction post GPU execution
- internal GPU memory allocator
- default parameters for object construction, simplified object creation
- swapchain synchronization and frame in flight handling
- threadsafety
- access to modern features such as raytracing, mesh shaders and multi queue
- utilitiy classes such as a ringbuffer for staging memory or Dear-ImGui integration
To begin using Daxa, visit daxa.dev, where you'll find a comprehensive tutorial and a Wiki containing detailed information about the Daxa API.
Additionally, the Daxa repository includes a collection of example projects located in the tests folder
Working on something with Daxa? Whether it's a renderer, a tool, or just a small experiment—feel free to share it or ask questions on the Discord server. It’s a good place to connect with others using Daxa and stay up to date with ongoing work.