Improved hashing and replacing std::hash

As per my previous post, implementing a buffer allocator managed to give my engine a 45-50% speedup across different scenes. Yet for a simple scene like Sponza, I am still seeing ~41FPS which is pitiful at best. I am doing something wrong, but what?

Managing Buffer Allocations

After implementing the Vulkan backend to my renderer, I set up a forward renderer and threw in Crytek’s Sponza asset and I had everything working … but at 28 FPS. This is incredibly slow, even for the laptop I am working off. Moving my eyes over to the diagnostics tool in Visual Studio I immediately notice a problem: my memory is slowly rising.

Real-Time Shader Programming in Vulkan

Real-time shader editing is a tool that I have always wanted to integrate into my budding engine. Since modifying external shader files doesn’t change the binary, there is no reason we need to rerun the app every time we make a small change.

Implementing a resource cache in C++

Introduction This blog post will explain what a resource cache is, why you might want one, and showcase how I developed one for my renderer. Why is a resource cache useful? Inside our renderer, there are various resources (such as textures, models, and Vulkan objects).