Skeleton Vulkan project using SDL -- a "Hello Triangle" plus examples from "Vulkan Tutorial"
Starting-point for platform-independent graphics projects based on Vulkan and SDL.
General Features:
Specific Features:
Supports:
Windows Requisites and Language Notes: Visual Studio 2019 or later is required for this project. Why?\
Clang/LLVM is the targeted compiler, C++20/libc++ the intended language variant.
Why another “Hello Vulkan” project? Hopefully this one is different. Some reasoning and justification here.
Find a note about my choice of Unlicense here.
This project requires the following:
More-specific instructions/links are in each platform-centric subdirectory. (again: Windows here, Mac here)
Whatever location you install these dependencies to, the Project will have to know where to find them, so it can include their header files and link with their library binaries.\
In the root directory of the HelloVulkanSDL Project, there will be a subdirectory called External
where the Project’s build process looks to find these dependencies. So while you can modify the build settings, it’s easiest to do one of these two options:\
A. Either install the packages to this External
directory. …or…\
B. Set up symbolic links from within this directory to the locations where you actually have them installed.\
To assist you, each platform-specific directory contains a setup1st
script you can run to set up the links.\
However, it requires minor editing first.\
The script generally assumes you have already installed these packages, where you want them,\
so won’t overzealously try to install them for you.
* – I could use your help! This project isn’t perfect, but I seek to perfect it. If you see problems with how I’m doing something, please submit an issue and tell me. If you’d like to contribute with a pull-request, please do! If you don’t like SDL, I tried to generalize it to an interface (iPlatform
) and I added GLFW/STB/WTF files too, but I didn’t test these. Feel free to fix and PR. The same goes for the aforementioned Android/VR additions. If you help, of course I’ll give you credit as a contributor here.
This project owes much inspiration and appreciation to: