Open-Source Vulkan C++ API
vk-bootstrap
Open-Source Vulkan C++ API | vk-bootstrap | |
---|---|---|
36 | 9 | |
2,921 | 656 | |
1.0% | - | |
9.1 | 8.4 | |
7 days ago | 7 days ago | |
C++ | C++ | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Open-Source Vulkan C++ API
-
what math is required?
It might be useful to maybe look at the Vulkan.hpp examples since you can do the same in about 200 lines of code. https://github.com/KhronosGroup/Vulkan-Hpp/blob/main/samples/15_DrawCube/15_DrawCube.cpp
- Vulkan-Hpp now provides C++20 module interface file
-
How do you guys organize everything?
Wow that library looks amazing, I'll definitely be using it. Bonus that it's official from the Khronos Group. https://github.com/KhronosGroup/Vulkan-Hpp
-
An idea to ease wrapping C libraries in C++.
Even auto-generated c++ wrappers like vulkan-hpp require lots of manual maintenance.
-
Anybody know why V-EZ has not been updated in 5 years?
Ultimately I went with vulkan.hpp RAII bindings, even though that way also has some learning curve and I couldn't find any documentation other than the RAII programming guide. It's great for getting started, but could use a complementary auto-generated API doc. There are also decent programming samples, which really suck for getting started, but otherwise do a good job of presenting concepts they focus on. Putting the available resources together I was able to get a project going in two weekends.
-
Using enum classes as bitmasks
This is exactly how the official Vulkan C++ API, Vulkan-Hpp does it. For the precise example mentioned in the blog post:
-
Recommendations on how to start a small Vulkan project
Or the vulkan.hpp RAII samples would be a good place?
-
What's the most hilarious use of operator overloading you've seen?
For a real-life example: consider the vk::raii namespace of Vulkan-Hpp, where the developers have posted examples. The vk::raii::su namespace has a bunch of free functions that one might think are associated with a Vulkan instance/object (in fact, the Vulkan Tutorial does implement them as member functions), but they are much nicer when used as pure functions. It keeps the class/struct definition itself nice and clean.
-
Vulkan-HPP + Vulkan C API == Aliasing Bugs!
final c++17 draft (N4659) first post-publication draft after c++20 (N4868) vulkan-structs.hpp (containing the vk::ImageCreateInfo definition) VkImageCreateInfo struct
vk-bootstrap
-
Anybody know why V-EZ has not been updated in 5 years?
I recently asked about something similar. AFAIK in terms of convenience layers, only vk-bootstrap is still maintained, other than vulkan.hpp bindings. There's also vookoo but it's rarely updated.
-
Are there any good c examples?
A shameless plug: here's a link to my repo https://github.com/jammymalina/vkbasicapp that could get you started. It's a WIP and far from done. The code is relatively structured, I got the inspiration from vk-bootstrap and I am Graphics And So Can You blogpost.
-
Writing Vulkan SPIR-V shaders in C++?
Great answer. Wanted to add on vk-bootstrap, does a lot of the initialization boiler plate for you: https://github.com/charles-lunarg/vk-bootstrap
-
Not able to display a triangle using tutorial code
Try this project: https://github.com/charles-lunarg/vk-bootstrap
-
What is the proper way to link libvulkan.1.dylib ith cmake while avoiding issues with the installed vulkan SDK?
It looks like the issue was on how I was using a library to load vulkan https://github.com/charles-lunarg/vk-bootstrap/issues/83
- I'm seeking for advice, after a month of learning Vulkan I feel like I'm going nowhere
-
Can I automate the first painful steps of vulkan?
vkguide is probably what you want, but in case you don't want to start your code with a guide, you can use vk-bootstrap to get started faster, it's what's used in vkguide.
-
Vulkan Framework Design Question
I just discovered vk-bootstrap today, and it looks like it'll make initialization code much much easier.
-
Is there any simple layer (C/C++) which would take care of the long syntactic sugar?
For what you are asking, vk-bootstrap is a library that mostly handles the very first 300-400 lines of vulkan code. https://github.com/charles-lunarg/vk-bootstrap
What are some alternatives?
Ogre 3D - scene-oriented, flexible 3D engine (C++, Python, C#, Java)
vulkan-guide - Introductory guide to vulkan.
GLFW - A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
Vulkan - Examples and demos for the new Vulkan API
Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
vk-bootstrap4j - A java port of vk-bootstrap with LWJGL
urho3d - Game engine
Rust-CUDA - Ecosystem of libraries and tools for writing and executing fast GPU code fully in Rust.
Irrlicht - An automatically updated mirror of the Irrlicht SVN repository on sourceforge
renderdoc-contrib - Community contributed extensions for RenderDoc
OpenVDB - OpenVDB - Sparse volume data structure and tools
awesome-vulkan - Awesome Vulkan ecosystem