This will be a fun feature to implement for babylonjs , basically its nanite from unreal engine, cooler version of dynamic LOD.
Read more: Introduction to Turing Mesh Shaders | NVIDIA Technical Blog
Library:
Demo:
This will be a fun feature to implement for babylonjs , basically its nanite from unreal engine, cooler version of dynamic LOD.
Read more: Introduction to Turing Mesh Shaders | NVIDIA Technical Blog
Library:
Demo:
That would be awesome! But we probably need to wait for Mesh shader support in WebGPU
Hmm it seems metal already has support for mesh shaders (Mesh Shaders and Meshlet Culling in Metal 3 – Metal by Example)
what are they waiting for??
They should add this bad boy now!
Hard agree! There is no way we can compete with native engines if they don’t give us the same toys haha
This is something I’d like to experiment.
But I have doubts on its use on the web nonetheless. Nanite/Meshlets make sense when you can stream a big quantity of data every second. On the web, you’ll need to deal with way more latency and a server that can stream specific datas in a potentially large mesh data base. Or many smaller files on the server but in either case, you’ll need tools to manage that.
Anyway, meshlet can help making automatic LOD and that’s a first step to try.
Nanite and nvidia’s gltf vulkan extension both use single assets, so streaming isnt an issue as far as i know. They both pre encode the meshlet topology into the asset offline. Unreal u can do it in the editor and nvidia has a cli tool.
For vertex generation, can do it in a compute shader, but it will be slower than mesh shaders supported by hardware, around 4x slower from my previous research. Although, i thought nanite was using compute shaders for portability, so idk.
https://www.youtube.com/watch?v=eoxYceDfKEM&t=527s this is a quite good one on nanites…