135 points by klaussilveira 7 days ago | 9 comments
Maciek416 7 days ago
The title seems inaccurate at time of commenting. This library is called “nv_cluster_lod_builder”

Nanite is Unreal’s implementation of a similar thing. The README even links to Unreal’s implementation in the references section.

kragen 7 days ago
Yes, but if the title doesn't say "Nanite", many fewer people will know what it means.
Nekorosu 7 days ago
“nanite alternative” is fine without lying.
teamonkey 7 days ago
It's not even that. It's a proof-of-concept example for generating continuous LOD meshes, which is something that Nanite does, but it isn't all that it does.

"This library serves as a quick placeholder or learning tool, demonstrating the basics of creating continuous LOD data."

kragen 7 days ago
Hmm, it's been a few years since I read through the amazing Nanite slide deck. Presumably this also renders the meshes, right? What else does Nanite do?
boristsr 7 days ago
Nanite does a few things:

- continuous lod as this library does

- software rasterization for small single pixel triangles which reduces quad overdraw

- deferred materials (only material IDs and some geometry properties are written in the geometry pass to the gbuffers, which things like normal maps, base colour, roughness maps, etc being applied later with a single draw call per material)

- efficient instancing and batching of meshes and their mesh patches to allow arrows of objects to scale well as object count grows

- (edit, added later as I forgot) various streaming and compression techniques to efficiently stream/load at runtime and reduce runtime memory usage and bandwidth like vertex quantization etc.

kragen 6 days ago
I see, thank you!
teamonkey 7 days ago
The Nanite tech also contains the virtual geometry / mega geometry streaming component.

Also the rendering component, which in addition to triangulating the cLOD data, also handles batching and optimisation of material draw calls, lighting and shadow casting, among other things.

kragen 7 days ago
Agreed!
noodletheworld 7 days ago
Yeah nah.

In this context it reads as a verb (nvidia has open sourced nanite) not a noun (this is an open source version of nanite).

“Entity open-source project” is not an ambiguous statement.

It would need to be “Entity’s open source nanite clone” imo.

As it stands the title is pretty misleading.

gpderetta 7 days ago
I was wondering why the title said "Nvidia open source" instead of "Nvidia open sources". Now it makes sense :D
Maken 7 days ago
I'm surprised the README doesn't mention meshlets at all. I guess Nanite is a better known name.
7 days ago
chakintosh 7 days ago
The title got me confused for a bit and was wondering when did Nvidia acquire Unreal Engine
therealpygon 7 days ago
I read it as “NVIDIA’s open source nanite”. People seem to be having a really hard time without the apostrophe and the “s” though.
Gollapalli 7 days ago
Thanks for posting this! I'll be digging into it. It seems like a good basis for learning how the tech works.

For those interested in more on continuous LOD, here's a SIGGRAPH talk where they go into some of the why and how of Unreal's Nanite (similar continuous LOD system) here: https://youtu.be/eviSykqSUUw

darkteflon 7 days ago
I wonder if this is the “RTX Mega Geometry” they showed to the Digital Foundry guys a few weeks back: https://youtu.be/HLxVskv2zs0?si=V1wi_4xCgk5M34gL.
jsheard 7 days ago
It's related to that, RTX Mega Geometry refers to a new (currently Nvidia-only) set of driver APIs which enable Nanite-like geometry streaming for raytracing acceleration structures. This library could be used to generate the data to feed those APIs. There's a link to another repo demonstrating how to render this data using either rasterization via mesh shaders, or raytracing via their Mega Geometry extension.

https://github.com/nvpro-samples/vk_lod_clusters

I expect something along the lines of Mega Geometry will be standardized in DirectX and Vulkan eventually, but that takes time.

creativeembassy 7 days ago
Anyone else remember the game Messiah? I'm probably wrong, but it still feels to me like that was a much earlier version of "nanite"/dynamic LOD building. No pre-built LODs, but automatically changed the number of polygons on anything based. Didn't work very well, everything in game looked kinda "blobby". But if we're gonna call Nvidia's library an alternative Nanite, I wanna call Nanite a Messiah alternative.
creativeembassy 7 days ago
(Kidding OFC. But I _would_ watch a 1 hour video essay on the history of alternative LOD systems.)
awestroke 7 days ago
Incorrect headline, please change
froh 7 days ago
what would be the correct title?
firtoz 7 days ago
the 100% match to the document title value minus "github", shortened only if it exceeds the limit

```

nvpro-samples/nv_cluster_lod_builder: continuous level of detail mesh library

```

https://news.ycombinator.com/newsguidelines.html#:~:text=In%...

Please don't do things to make titles stand out, like using uppercase or exclamation points, or saying how great an article is. It's implicit in submitting something that you think it's important.

Please submit the original source. If a post reports on something found on another site, submit the latter.

Please don't use HN primarily for promotion. It's ok to post your own stuff part of the time, but the primary use of the site should be for curiosity.

If the title includes the name of the site, please take it out, because the site name will be displayed after the link.

If the title contains a gratuitous number or number + adjective, we'd appreciate it if you'd crop it. E.g. translate "10 Ways To Do X" to "How To Do X," and "14 Amazing Ys" to "Ys." Exception: when the number is meaningful, e.g. "The 5 Platonic Solids."

Otherwise please use the original title, unless it is misleading or linkbait; don't editorialize.

WithinReason 7 days ago
Nvidia open-source alternative to nanite: ...
kragen 7 days ago
That would be a good title.
a-french-anon 7 days ago
Dunno, "nanite equivalent" would work, I guess?
xeonmc 7 days ago
"nanite replacement"
diggan 7 days ago
Is this actual Nanite as what Unreal Engine uses? Otherwise the title is slightly misleading, seems at a glance to be nvidia's own LOD generation library which works like Nanite, but isn't The Nanite.
nkrisc 7 days ago
It’s not. The only time “nanite” appears on the linked page is in the title of a video published by Unreal which it links to.
7 days ago
queenswan 4 days ago
Now there's an accompany Technical Blog entry:

https://developer.nvidia.com/blog/nvidia-rtx-mega-geometry-n...

7 days ago