Rendering

2025
When building a Vulkan renderer, one of the most deceptively complex challenges isn’t the graphics pipeline or shader compilation, it’s memory management. Raw Vulkan gives you complete control over GPU memory, but with that power comes significant responsibility. Today, I want to share how Lumina handles this through the Vulkan Memory Allocator (VMA) library and why it’s been a game-changer for our engine.
Lumina is my ongoing game engine project written in C++. I’ve been working on it for about two years, and what started as a side experiment has turned into one of my biggest passions.