In this demo I showcase a cluster-based streaming approach where polygonal geometry is split into clusters of ~128 triangles and each cluster is loaded individually. Clusters are built over full resolution base polygonal mesh and then they're combined to produce lower-resolution versions of that mesh.
A lot of trickery results in clusterization algorithm that produces no seams. Clusters are streamed in and out of the GPU as they become visible. The streaming system also requests clusters that have a constant size on the screen, which results in a sub-linear scaling: basically if you increase the number of objects on the screen 100x, the number of actually rendered triangles total would probably increase about 2-3 times or so.
This approach is mostly based on this 2008 paper "Multiresolution structures for interactive visualization of very large 3D datasets" by Federico Ponchio [ Ссылка ] . Most of UE5's Nanite pipeline pretty much exactly follows that paper.
Ещё видео!