Dingus Oriented Programming

Where bugs become features and segfaults build character

Featured Posts

Lumina Game 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.

About Me

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.

Metaprogramming Polymorphism

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.

How to ask a question

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.