DirectXTK
Open-Source Vulkan C++ API
Our great sponsors
DirectXTK | Open-Source Vulkan C++ API | |
---|---|---|
8 | 30 | |
2,306 | 2,601 | |
1.2% | 1.0% | |
5.3 | 9.0 | |
22 days ago | 6 days ago | |
C++ | C++ | |
MIT License | Apache License 2.0 |
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.
DirectXTK
-
Learning DirectX 12 in 2023
DirectXTK 12 (includes SimpleMath and other goodies)
-
Where to start learning OpenGL or DirectX11 Graphics Programming with C++?
DirectXTK (basically XNA ported to C++, after it was dropped)
-
I'm having a hard time staying committed to learning C++ and OpenGL for game development.
Because you get stuff like DirectXTK and PIX from the company that does the API, while on Khronos stuff you need to go hunting for comunity or GPU vendor specific tooling.
-
How to handle multithreading in concept.
then check up this https://github.com/microsoft/DirectXTK/wiki/Getting-Started
- How do I get started with Frank Luna's DX11 book?
Open-Source Vulkan C++ API
-
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.
-
CLion vs VSCode in 2023 for C++
VS 2022 has seen a massive increase in performance especially after its move to 64-bit. It lints even the largest headers (ahem, Vulkan-Hpp) in a matter of seconds whereas CLion just chokes and crashes.
- Cross platform low level graphics API suitable for game development?
-
std::string_view, std::string, char const*, and char const* const*
So I am attempting to follow the Vulkan Tutorial, but I am trying to use decidedly more C++ than the tutorial suggests, by using the Vulkan-Hpp C++ bindings and the vk::raii classes, in particular.
-
I put together this compute pipeline example using the C++ RAII interface. Perhaps other beginners could learn from it, and any code reviews/comments would be welcome.
Its literally a few kb: https://github.com/KhronosGroup/Vulkan-Hpp/tree/master/vulkan Why on earth are you downloading all the samples and what not? Just use the hpp files and be done with it. SMH
-
Ask HN: How I get a job that uses C?
All the current major game engines are C++. C hasn't been widely used since the Quake 3 days.
While yes the Vulkan & OpenGL APIs are pure C, that's very, very little of what you actually code against. You very quickly abstract that or use a middleware like bgfx or whatever. In the case of Vulkan while the spec API is C, there's first-class C++ wrappers/bindings provided as well: https://github.com/KhronosGroup/Vulkan-Hpp
And other than Vulkan & OpenGL, you'll find that most other APIs/libraries in the space are C++, not C. Valve's libraries are C++. Dear ImGui is C++. Bullet & PhysX are C++. Microsoft's glTF SDK is C++. etc...
You can argue endlessly about how "true C++" those all are or if they're just "C with namespaces" but that's largely irrelevant - they aren't C and they need a C++ compiler.
-
Bootstrapping Vulkan for Scientific Compute Applications?
Having this on the side and reading the actual implementation is in my opinion the best way to learn about using Vulkan compute and how the different parts of Vulkan are related. On the other hand you need to be at least little bit familiar with concepts of Vulkan (and vulkan.hpp) to understand it and know how would things change if you would change some options.
-
The project with a single 11,000-line code file
vulkan_structs.hpp - part of the Vulkan-Hpp library (Vulkan bindings for C++) comes in at 97967 lines of code.
-
How are the raii wrappers different from the Unique versions?
https://github.com/KhronosGroup/Vulkan-Hpp/issues/926#issuecomment-810979142
What are some alternatives?
Ogre 3D - scene-oriented, flexible 3D engine (C++, Python, C#, Java)
GLFW - A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
urho3d - Game engine
Irrlicht - An automatically updated mirror of the Irrlicht SVN repository on sourceforge
OpenVDB - OpenVDB - Sparse volume data structure and tools
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
OpenSubdiv - An Open-Source subdivision surface library.
OpenSceneGraph - OpenSceneGraph git repository
magnum - Lightweight and modular C++11 graphics middleware for games and data visualization