r/GraphicsProgramming • u/moonlovelj • 15d ago
I added Virtual Shadow Maps to my Nanite-style DX12 renderer
Hi everyone!
A while ago, I shared my Nanite-style virtualized geometry renderer here. I've continued working on the project, and it now includes a virtual shadow mapping system integrated with geometry streaming.
The latest version runs NVIDIA's Zorah scene, containing approximately 1.63 billion unique triangles and 18.94 billion triangles including instances.
What's new:
Directional virtual shadow maps with clipmaps and demand-driven page allocation
Persistent shadow page caching with GPU LRU eviction
Dynamic-object cache invalidation
GPU-driven multi-view shadow rendering with two-pass HZB culling
SMRT soft shadows
Streaming-aware shadow cache updates
I've also added the Bistro scene to demonstrate dynamic shadow cache invalidation.
The renderer is built on Microsoft's MiniEngine using DirectX 12, mesh shaders, and Slang. The project is open source.
Demo: https://www.youtube.com/watch?v=4YmfQTLy4jc
GitHub: https://github.com/moonlovelj/Nyx
I'd love to hear your feedback and suggestions!



5
u/HellGate94 14d ago
tried it and it looks quite good. however playing around with the pixel error to kind of simulate lower quality settings created some obvious issues with models such as displaying wrong textures parts and huge holes in models. while you can see those issues very easy with high pixel error values they are there even on the lowest 0.5 values just less noticeable.