https://github.com/pacheco95/khronos-vulkan-tutorial-cpp
Implementation of the original Khronos Vulkan Tutorial using the C++ binding
https://github.com/pacheco95/khronos-vulkan-tutorial-cpp
cplusplus cpp cpp-bindings game-development game-engine khronos khronosgroup rendering-2d-graphics rendering-3d-graphics rendering-engine tutorial vulkan vulkan-engine vulkan-game-engine vulkan-sdk
Last synced: 3 months ago
JSON representation
Implementation of the original Khronos Vulkan Tutorial using the C++ binding
- Host: GitHub
- URL: https://github.com/pacheco95/khronos-vulkan-tutorial-cpp
- Owner: Pacheco95
- License: cc-by-sa-4.0
- Created: 2023-11-17T00:40:17.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-26T12:28:33.000Z (over 1 year ago)
- Last Synced: 2023-11-26T15:51:08.545Z (over 1 year ago)
- Topics: cplusplus, cpp, cpp-bindings, game-development, game-engine, khronos, khronosgroup, rendering-2d-graphics, rendering-3d-graphics, rendering-engine, tutorial, vulkan, vulkan-engine, vulkan-game-engine, vulkan-sdk
- Homepage:
- Size: 1.28 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Khronos Tutorial for C++
Reimplementation of the original
[C tutorial](https://docs.vulkan.org/tutorial/latest/00_Introduction.html)
using the [Vulkan-Hpp](https://github.com/KhronosGroup/Vulkan-Hpp) binding.For the sake of simplicity and compatibility with the original version, this
tutorial will not use unique handles nor RAII handles.
All resources will be created/released by hand.**Each [chapter](https://github.com/Pacheco95/khronos-vulkan-tutorial-cpp#chapters) will be developed in a separated
branch**.
Thus, it will be easier to find a specific change from one chapter to another, and we'll not pollute the code with a
bunch of macros.
I also separated branches for each platform.
The tutorial guide for linux wil be in a branch named `linux/...`.
**Those branches will never be merged into `main` due to platform differences**.> [!IMPORTANT]
> Use the main branch only as a guidance.
> The actual implementations will be in separated branches for each platform for each chapter.I did the entire tutorial on linux, thus I'll only implement for the linux branch, but you probably will be able to
build for other platforms without much effort.
Feel free to send PRs for other platforms.Probably I'll make some adjustments on the original code to keep the code readable.
Putting everything in a single class is not a good practice, and you will probably find it difficult to see the
relationship between Vulkan objects this way.
All adjustments will be pointed on its section in the README.md file.### Implementations
- [Linux](https://github.com/Pacheco95/khronos-vulkan-tutorial-cpp/tree/linux-summary)