Dingus Oriented Programming
Featured Posts
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.
Hello, and welcome to my blog!
Recent Posts
One of the largest performance overheads in Unreal is the need for actors and primitive components to draw something in a world. Today I want to show you a way to bypass these abstractions entirely and manually draw primitives to the world with minimal overhead.
Runtime polymorphism via virtual functions is the traditional way to achieve dynamic dispatch in C++, but it comes with overhead: vtable lookups, cache misses, and heap allocations. With C++20, we can leverage std::variant and concepts to create compile-time polymorphism that sidesteps virtual dispatch entirely.
Pointer arithmetic is one of C++’s most powerful low-level features, providing direct manipulation of memory addresses. While it can be dangerous when misused, understanding pointer arithmetic is essential for systems programming, implementing custom memory allocators, and writing performance-critical code.
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.
Honestly, this has been covered in so many places, and I’m by no means a psychology professor. I have done my fair share of studying different learning and teaching techniques from when I was a flight instructor, though, so I’d like to share some thoughts on asking effective questions, especially in programming communities.