Minimal Vulkan application that renders a colored triangle using modern C++17 and helper libraries.
- CMake 3.15+
- C++17 compiler
- Vulkan SDK (includes glslc shader compiler)
- GLFW 3.4 (auto-fetched if not found)
- volk: Vulkan meta-loader
- vk-bootstrap: Vulkan initialization helper
- VulkanMemoryAllocator: GPU memory management
mkdir build && cd build cmake .. cmake --build ../bin/VulkanTriangleShaders are automatically compiled to bin/shaders/ during build.
main.cpp: Application entry point with Vulkan setup and render looptriangle.vert: Vertex shadertriangle.frag: Fragment shaderCMakeLists.txt: Build configuration with shader compilation
- Uses volk for dynamic Vulkan loading (no static linking)
- RAII wrapper handles cleanup automatically
- 2 frames in flight for optimal GPU utilization
- Window resize not currently handled
Mostly vibe-coded with Claude Sonnet 4.5