Virtual Shadow Maps [C++, OpenGL]

A GPU virtual memory system for computing extremely high resolution shadows while maintaining a fixed memory budget and supporting data caching. Here is a link to the full tech writeup.

Cascade selection depends on distance to camera. Each square is a virtual page from a certain cascade that has been mapped to a piece of physical GPU memory.

Virtual address space shifts as directional light rotates which causes cache invalidation

A look at the allocator as physical memory is allocated and freed depending on scene demands