When will this happen on the web?
Ohhhhh man find me the pdf techniques and if even possible on the web I ll add it in !!! It looks so stunning !!!
I think technical details down to algorithms is their trade secret, but there is documentation here, and this article
Yup I definitely read those and Lumen + Nanite is hugeeee but requires so much lower level accesses and modern architecture only. If they ever run it on cheap android with opengles 2.0 We should be able to do it as well
Now my hope is that some of the architecture enabling fast streaming + ray tracing gets available in a near-ish future to WebGPU so that @Evgeni_Popov could implement it
@ecoin @sebavan while something like Lumen may be far out in the future , looks like Unrealâs Nanite / progressive meshes is more within reach. Looks like this is done on the Web recently https://x.com/marcel_wiessler/status/1768640730422009910?s=20
Iâm not sure how different this is from babylonâs LOD API. AFAIK babylon has a mesh.useLODScreenCoverage = true; which may offer something similar. But I havenât tried it and canât say much about it. It also requires pre-generation of the LODs (unless you use Auto-LODs feature of babylon). Again, I havenât tried those and canât say much about it.
I do have a scene with very large number of vertices, though. So I will play around with this at some point in the nearish future.
What can I say⌠far beyond my reach but then, please keep us posted
As far as I understand, your first link shows a selection of LODs based on a specific algorithm, but this is not a progressive simplification of the mesh as in Nanite. In Nanite, you donât need different LOD versions of the same mesh (as seems to be the case in the link), the mesh is simplified in real time according to its size on the screen.
Ah I see. For some reason I thought they were dynamic. I canât recollect why. I did see someone do nanite like loading on the web. Let me dig that twitter post. Will post here next week.
Here is the correct link @Evgeni_Popov https://x.com/twodelab/status/1730360352343466176?s=46
Thanks for pointing it out.
Yes, it seems a lot like Virtually Geometric - #19 by Usnul - Showcase - three.js forum.
This is impressive, however, I wonder how it would work with a real scene with hundreds or thousands of objects, because all the simplification work is done in JS, and JS is already the bottleneck in most WebGL graphics applications (or is it done in WASM?). The use of WebGPU and compute shaders would probably be very beneficial for the technique. Thereâs also the problem of progressive streaming of mesh data + rendering of small triangles in software, if we want to compete with Nanite .
While not UE5-level, itâs possible to get pretty amazing results with WebGL âtodayâ: https://www.youtube.com/watch?v=PeAY8lC-l0U. This is actually a few years old, but probably wasnât playable on most devices when it came out. Even now, itâs running at about 33 FPS on Safari on M3 MBP.
@Evgeni_Popov Do we have the same thing in BabylonJS?
We do have something along the same lines:
-
Global Illumination with Reflective Shadow Maps | Babylon.js Documentation (babylonjs.com)
-
We also are working on IBL shadowing (WIP): IBL Shadows and Ground-projection skyboxes | Babylon.js Playground (babylonjs.com)