
C++VulkanVMAVkBootstrapGLFWGLMSPIRV-ReflectImGui
Overview
This project is a Vulkan renderer written in C++ from scratch, built to understand how a graphics pipeline works at the GPU level. It implements OBJ mesh loading, texture mapping with mipmaps, Blinn-Phong shading with up to 8 simultaneous lights, a free-fly FPS camera, and a real-time ImGui debug interface.
It uses Vulkan 1.3 modern features including dynamic rendering and descriptor indexing, with VMA for GPU memory management and SPIRV-Reflect for automatic shader introspection. The architecture is built around a strict Pimpl pattern and a CommandEncoder RAII wrapper that keeps Vulkan internals hidden from the rest of the codebase, with the goal of understanding how game engines abstract low-level GPU work.
Project Links
Keywords
C++Vulkangraphics programmingrendererBlinn-PhongOBJ loaderlow-levelgame engine3D
Team(1 member)
My Role
Developer
Project README
Loading...
Loading...