Three.js Dynamic LOD: A Nanite-Inspired Approach

2025-02-07
Three.js Dynamic LOD: A Nanite-Inspired Approach

This project attempts to reproduce a dynamic LOD system in Three.js, similar to Unreal Engine 5's Nanite. It starts by clustering a mesh into meshlets, grouping adjacent meshlets, merging them (shared vertices), simplifying the mesh using meshoptimizer (halving triangles, max 128), and finally splitting it (currently into 2, aiming for N/2). The project is early-stage; future work includes improving LODs, DAG cuts, and streaming geometry to the GPU. Research includes Nanite, multiresolution structures, and batched multi-triangulations.

Development