Virtual Shadow Maps


Matěj Sakmary Supervisor: Jiří Bittner Master thesis 2025
In this work I present Virtual Shadow Maps (VSMs), a method for rendering shadow maps with greatly improved quality and memory efficiency compared to current methods. I separate logical address space from its physical backing by splitting each shadow map into a set of virtual pages. This achieves the appearance of a large contiguous memory without the need to reserve backing physical memory. For each frame, I find the set of visible pages by analyzing the depth buffer. Each visible page is assigned physical memory allocated from a designated memory pool. To efficiently fill visible pages with shadow map information, I utilize granular culling of the scene geometry. This is paired with caching of individual pages, which greatly reduces the number of pages that need to be filled each frame. I show that my implementation is well suited for multiple light sources of various types, including directional lights, point lights, and spotlights. Further, I show that this technique scales to an arbitrary number of cascades as only a fraction of virtual pages are visible and need to be backed each frame. The method can thus achieve any desired texel-to-pixel density at any distance with few wasted shadow texels.