Real-time Global Illumination from Unreal Engine 5

When will this happen on the web? :smiley:

3 Likes

Ohhhhh man find me the pdf techniques and if even possible on the web I ll add it in !!! It looks so stunning !!!

1 Like

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 :slight_smile:

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 :slight_smile:

2 Likes

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

1 Like

What can I say… far beyond my reach :sweat_smile: but then, please keep us posted :pray:

1 Like

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.

1 Like

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 :slight_smile:.

2 Likes