A Deep Dive into Nanite Virtualized Geometry
Why Hacker News recommends it
HN treats it as the definitive deep dive on Nanite, admired for the engineering ambition behind pixel-sized triangles and compute-driven rendering.
What it is
Brian Karis's SIGGRAPH 2021 talk explains how Unreal Engine 5's Nanite virtualized geometry works. It covers mesh import, the data structures, streaming, decompression, culling, software and hardware rasterization, and shading.
Recommended by 7 HN commenters across 9 different months, 2021 to 2026.
What Hacker News said
Strong rec jjoonathan · 2021-11 · on “Full key extraction of Nvidia TSEC”
For real. The talent in the game industry is insane. Recently, I got my mind blown by the Unreal Nanite team: [this video] The core of it is a respectably sophisticated LOD building algorithm, as you might expect, but the sheer amount of engineering horsepower they put into driving it into production just boggles the mind.
Strong rec jameshart · 2021-12 · on “The Matrix Awakens: Unreal Engine 5 Techdemo [video]”
If this UE5 demo is using Nanite, then it really may well just be modeled geometry. Nanite really blurs the line between geometry and texture - in a sense it’s a shader that uses triangle mesh data as if it were a texture source. This siggraph session will expand your mind: [this video]
Strong rec jjoonathan · 2023-04 · on “Faster LZ is not the answer to 150-250 GB video game downloads”
It attracts truly extraordinary talent. One of many examples: [this video] . There is more technical ambition in a single slide of that project than an entire department at places I've worked. However, it also tends to demand more and pay less, so there is churn and burnout and when it comes time to triage, the triage can cut very deep. If I were to dive into the JIRA for any one of these "missing compression" incidents, I wouldn't expect to find an easy win, I would expect to find "missing compression" beneath a pile of much worse bugs like "level 2 crashes on AMD cards." So it goes.
Strong rec superb_dev · 2023-09 · on “Apple iPhone 15 Pro and iPhone 15 Pro Max”
Nanite has a large pre-render step, but it also changes the rendering quite significantly. (Which in some cases includes a software rasterizer running on the GPU) This is a really good deep dive if you’re interested: [this video]
Strong rec jfim · 2026-07 · on “Advances in Real Time Rendering in Games”
Their YouTube channel has the excellent deep dive on the unreal engine's nanite virtual geometry system: [this video] The one on idTech8 global illumination from last year is pretty interesting too.
Recommends jjoonathan · 2021-12 · on “War stories: how Crash Bandicoot hacked the original Playstation (2020)”
If you want to see this sort of brilliant hacking on a modern system, I recommend taking a closer look at Unreal Nanite. It isn't just auto-LOD. Oh no. That's the core, but they had to do this same sort of "work around the tools they are given" to make it actually happen. Tiny triangles chug in modern GPU hardware raster pipelines -- so they wrote a GPGPU software rasterizer. They needed more bandwidth, so they wrote a compression engine. Their shaders needed better scheduling, so they abused the Z-test to do it. It's nuts! [this video]
Recommends Animats · 2022-01 · on “Finding your home in game graphics programming”
No, but it is a full time job. It's getting much more complicated. Here's an hour long talk on how Unreal Engine 5's Nanite works.[1] This is a huge breakthrough in level of detail theory. Things that used to be O(N) are now O(1). With enough pre-computation, rendering cost does not go up with scene size. See this demo.[2] You can download the demo for Xbox X/S and PlayStation 5, and soon, in source form for PCs. Explore 16 square kilometers of photorealistic city in which you can see a close-up view of anything. The format of assets in memory for Nanite becomes far more complicated. GPUs need a redesign again; UE5 has to do more of the rendering on the CPUs than they'd like. What they need
Recommends jjoonathan · 2022-04 · on “Unreal Engine 5 is now available”
Yeah, but they had to go through hell to make it happen. It took a lot more effort than you might think. [this video] Some highlights: Seam staggering between levels for smooth swaps Current hardware rasterizers chug on small polys so they made a GPU software rasterizer (!) Actually it's a hybrid rasterizer, and gnarly features like derivatives are supported on both sides The GPU scheduler chugged so they abused Z-test wave repacking Streaming compression