This is my try at learning C++ and Vulkan at the same time. Do not expect much from this project.
- Core
- Make sure all pointers are deleted after usage
- Refactoring
-
Empty out app.hpp -
Clean up cmakelists - Move rendering specific code out of game.hpp
- Remove unused code
-
- Implement Vulkan
-
Basic rendering setup -
Vulkan code splitted up (_device, swapchain, pipeline) -
Implement resizing without crashing -
Add descriptor sets/pools + move imgui pool uit of main => swapchain? -
Add uniform buffers -
Add push constants - Add index buffers
- Add model loading
- Add texture mapping
- Add framebuffer utilities
- Use initializers to clean up vulkan code
- Load shaders dynamically
-
- Add logging library (spdlog)
-
Log basic vulkan setup - Log advanced vulkan status
-
- Game logic
-
Add camera utilities
-
Required dependencies
yay -S vulkan-devel boost tinyobjloader glm glfw-x11
Build:
$ mkdir build
$ cd build
$ cmake ..
$ make
Launch the Vulkanengine
application in build/