Best Vulkan wrapper / low-level graphics library?

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/GraphicsProgramming

Our great sponsors
  • Sonar - Write Clean C++ Code. Always.
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • SaaSHub - Software Alternatives and Reviews
  • ash

    Vulkan bindings for Rust

    I would not recommend vulkano, I would recommend ash, most serious projects that are targeting only vulkan (ie not using gfx-hal), use ash. Vulkano makes some odd decisions and their build process is a pain, if it works in c++, you might not be able to get it to work in Vulkano. Ash has the same exact dependencies you would need in a C++ rust project (ie just the vulkan sdk on windows), and most low level conversion stuff to rust (enums) is already done.

  • Open-Source Vulkan C++ API

    Open-Source Vulkan C++ API

    How about Vulkan-Hpp? It's the official Khronos C++ wrapper around the Vulkan API, with lots of nice features to make using the API easier. I recommend reading their entire README to understand all the advantages of using it.

  • Sonar

    Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • magnum-examples

    Examples for the Magnum C++11 graphics engine

    While the Vulkan wrapper layer isn't that well documented or advertised yet (to Magnum standards at least), there's a Vulkan Triangle example making use of the basic bits to get you an idea how it might feel like. Apart from that:

  • magnum

    Lightweight and modular C++11 graphics middleware for games and data visualization

    (Sorry for a self-promo, hope that's fine.) If you don't mind being an early adopter and use something that's still undergoing heavy development and is not complete yet, I'm building a low-level Vulkan wrapper in Magnum. If you aren't familiar with Magnum yet, it's a C++11 library that has (among other things) a thin OpenGL/GLES/WebGL wrapper that removes the platform-specific extension hell and most of the boilerplate while still allowing you to work with the raw APIs if you need ... and the same is now being done for Vulkan.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts