Open-Source Vulkan C++ API
DirectXTK
Open-Source Vulkan C++ API | DirectXTK | |
---|---|---|
36 | 13 | |
3,215 | 2,625 | |
1.3% | 0.8% | |
9.1 | 8.6 | |
9 days ago | 4 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
DirectXTK
-
C++ exception performance three years later
Are there any benchmarks of Windows EH? The implementation is very different from DWARF/SJLJ EH and it would be interesting to see how they fare. I've seen some pretty exceptional claims for both sides of the argument (e.g. "[...] has no code impact for x64 native, ARM, or ARM64 platforms" [1]), but there's rarely if ever any data to back this up.
[1] https://github.com/Microsoft/DirectXTK/wiki/throwIfFailed
- I need help to make SSE Display Tweaks work.
-
Xenia: Xbox 360 Emulator
XNA died when the people behind it left, thus the C++ side won once again, and DirectXTK was born as replacement.
https://walbourn.github.io/directxtk/
Years later they kind of sponsored Monogame, when they were recovering from XBox One mess,
https://news.xbox.com/en-us/2016/03/14/letter-chris-charla-i...
By the way, I think one of these episodes talks about the emulation, but I am not certain if it was on this podcast I heard about it.
https://theretrohour.com/?s=xbox
-
Need help converting wav files to XWB without the wav file names being changed
So for the past 8 hours, I've been trying to mod the music files for Bloons Monkey City. I converted some songs I wanted to use in BMC using audacity to wav and made sure to rename the files to the songs I wanted to replace. I used XWBtool to repackage the wav files into an XWB file, the file format BMC uses to store its music in. I used Foobar2000 to view the XMB file, and for whatever reason all the song names get changed to whatever the XWB file name is after repackaging them using XWBtool (I.e. The XWB's file name is whatever the first wav file XWBtool repackages. In my case, "WaveBank#1 (MCity_MvM)" is the first wav file that gets repackaged, so for whatever reason every other file also gets its names changed to "WaveBank#1 (MCity_MvM)," which is causing me a problem as BMC won't be able to read the other music files.).
- Flight Mechanics
-
Learning DirectX 12 in 2023
DirectXTK 12 (includes SimpleMath and other goodies)
-
Where can I learn directX
DirectXtutorial doesn't seem to have the greatest C++ code either. I would definitely use ComPtr.
-
Where to start learning OpenGL or DirectX11 Graphics Programming with C++?
DirectXTK (basically XNA ported to C++, after it was dropped)
-
Chrono Cross: The Radical Dreamers Edition - How to play with the new graphics BUT with the old fonts
Thank you for your reply, I make spritefont from this link https://github.com/microsoft/DirectXTK/wiki/SpriteFont but still cannot show the right font Maybe have to check parameter of old font
-
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.
What are some alternatives?
Ogre 3D - scene-oriented, flexible 3D engine (C++, Python, C#, Java)
DirectXTK12 - The DirectX Tool Kit (aka DirectXTK12) is a collection of helper classes for writing DirectX 12 code in C++
Irrlicht - An automatically updated mirror of the Irrlicht SVN repository on sourceforge
GLFW - A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
urho3d - Game engine
Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
OpenSubdiv - An Open-Source subdivision surface library.
OpenVDB - OpenVDB - Sparse volume data structure and tools
Atomic Game Engine - The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.