In godot engine we decide to do a continuous level of detail based a pixel error metric. (simplified explanation pixel-error -> based on fov -> based on floating point error of the meshopt_simplifyWithAttributes function)
That's a cool demo (even if it doesn't work on my phone, I get it from the video), but it's a long, long way from a nanite implementation. At best I'd call it dynamic LODs or something.
Jason Booth (the author) also has a YouTube channel talking about similar topics.
I really liked his 'Practical Optimizations' video: https://youtu.be/NAVbI1HIzCE
In godot engine we decide to do a continuous level of detail based a pixel error metric. (simplified explanation pixel-error -> based on fov -> based on floating point error of the meshopt_simplifyWithAttributes function)
The 12 ish lods are automatically generated by https://github.com/zeux/meshoptimizer.
https://docs.godotengine.org/en/stable/tutorials/3d/mesh_lod...
We allow a hierarchical level of detail if people want to set it up.
Our budget couldn't afford Epic Games style nanite, but there are three js implementions.. so it's not impossible to recreate.
- https://github.com/AIFanatic/three-nanite
- https://news.ycombinator.com/item?id=42974461
three-nanite is based on https://github.com/zeux/meshoptimizer cutting each mesh into maybe 124 triangles per chunk.
That's a cool demo (even if it doesn't work on my phone, I get it from the video), but it's a long, long way from a nanite implementation. At best I'd call it dynamic LODs or something.
Jason Booth (the author) also has a YouTube channel talking about similar topics. I really liked his 'Practical Optimizations' video: https://youtu.be/NAVbI1HIzCE
LOD = level of detail