Hacker News new | past | comments | ask | show | jobs | submit login
Nvidia open-source nanite: continuous level of detail (LOD) mesh library (github.com/nvpro-samples)
137 points by klaussilveira 11 days ago | hide | past | favorite | 29 comments





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.


Yes, but if the title doesn't say "Nanite", many fewer people will know what it means.

“nanite alternative” is fine without lying.

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."


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?

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.


I see, thank you!

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.


Agreed!

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.


I was wondering why the title said "Nvidia open source" instead of "Nvidia open sources". Now it makes sense :D

I'm surprised the README doesn't mention meshlets at all. I guess Nanite is a better known name.

The title got me confused for a bit and was wondering when did Nvidia acquire Unreal Engine

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.

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


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.

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.


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.

(Kidding OFC. But I _would_ watch a 1 hour video essay on the history of alternative LOD systems.)

Incorrect headline, please change

what would be the correct title?

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.


Nvidia open-source alternative to nanite: ...

That would be a good title.

Dunno, "nanite equivalent" would work, I guess?

"nanite replacement"

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.

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.

Now there's an accompany Technical Blog entry:

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




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: