🔨 Simple starter code for building applications with Vulkan and C++.
This is meant to be a sort of "template" for creating Vulkan applications. It uses vulkan.hpp, which is included in LunarG's Vulkan SDK. Note that there are many checks and features that are omitted in this project that would otherwise be present in a "real" application.
By default, vkstarter simply sets up a full-screen quad, as seen in the screenshot above. For simplicity sake, vertex positions are hard-coded in the vertex shader. Push constants are used to communicate application time and window resolution to the fragment shader stage. Window resizing (and subsequent swapchain re-creation) is also enabled by default.
- Ubuntu 18.04
- NVIDIA GeForce GTX 1070
- Vulkan SDK
1.1.106.0
- Clone this repo and initialize submodules (GLFW):
git submodule init
git submodule update- Download the Vulkan SDK for your OS. Make sure the
VULKAN_SDKenvironment variable is defined on your system. - Compile the included shader files using
glslangValidator:
sh ./compile_shaders.sh- Finally, from the root directory, run the following commands:
mkdir build
cd build
cmake ..
make
./VkStarter