Sabitlenmiş Tweet
Nicolas Riciotti
344 posts
Nicolas Riciotti
@twodelab
Freelance Creative Developer https://t.co/o8vjGNb19q
Paris, France Katılım Ağustos 2011
495 Takip Edilen1.6K Takipçiler
@jo_chemla @BrianKaris Hey ! thanks !!
- after all culling and LOD selection it renders about 30M tris, but it can handle scene with up to 500B tris, maybe even more
- yep i plan on adding webGPU support to use compute shaders to make things faster :)
- plz see my reply here: twitter.com/twodelab/statu…
Nicolas Riciotti@twodelab
@edankwan hey ! sorry for the late reply. I tried using uint, but was not sure how to encode both the depth & triangleIndex without breaking the gl.MIN test. imagine you have a depth of 0.01 and a triangleIndex of 999999, how to encode it to only use depth for the gl.MIN test ?
English

@twodelab @BrianKaris Very interesting, thanks for sharing!
A few Qs:
- what's the max poly count you ingested using your technique on standard gpu?
- plan to translate to webgpu to use compute shaders?
- why splitting the depth over 1/4th of the 0-1000 range rather than using full precision of int32?
English
Hi everyone !
as promised, some insights on how the virtual geometry works in webgl 2:
First of all, many thanks to @BrianKaris for sharing info about his work on Nanite:
youtube.com/watch?v=eviSyk…
and the slides:
advances.realtimerendering.com/s2021/Karis_Na…
ok let's go:

YouTube
Nicolas Riciotti@twodelab
Webgl 2 Virtual Geometry (UE5 Nanite like) youtube.com/watch?v=OgGBus… #webgl
English
@edankwan hey ! sorry for the late reply. I tried using uint, but was not sure how to encode both the depth & triangleIndex without breaking the gl.MIN test. imagine you have a depth of 0.01 and a triangleIndex of 999999, how to encode it to only use depth for the gl.MIN test ?
English
@pervasivesense Hey ! Yes that’s only the automatic LOD system. I also started working on streaming+compression but want to improve the rendering before focusing more on that.
English

@twodelab What in the eff?? So is this only the auto LOD graph work that we're seeing here? Does this also implement the optimized mesh disk streaming/compression that Nanite does?
English
@cemdemir Thanks ! and yes, it does. Still quite some work to do, but it's promising
English
@nwpointer Hey ! Not yet sorry, but I’ll give some more insights on how this works soon :)
English
@N8Programs @N8Programs hey ! from my testing with Transform feedbacks it seemed to be lot slower than the GPGPU approach. I guess it depends on the use case, but it was 3 to 5 times slower
English
@Pjbomb2 Hey ! Really nice work :) random guess, but did you try either clamping your new samples or making sure a new sample cannot be x times more brighter than the previously accumulated color? This helps with fireflies and a-trou filtering, so maybe it can help here
English
Had the pleasure to work on the new
@eco site with my friend @AristideBenoist:
eco.com
(Design by Work & Co.)
English
@chrizzlibit Oh yes sorry, TLAS stands for « Top Level Acceleration Structure » so exactly like TLBVH + BLBVH :)
English
As promised, more insights on the webgl raytracer.
It is based on this article/paper by Tero Karras:
developer.nvidia.com/blog/thinking-…
It uses Morton code to build a BVH binary radix tree on the GPU in realtime.
#webgl #bvh #raytracing
English
@chrizzlibit Yes indeed it’s okay to have several objects/triangles using the same Morton code,at least at first. But these duplicates need to be handled when building the binary radix tree. Also as you guessed it doesn’t scale to large scenes (yet) but got plans for this(TLAS+per object bvh)
English

@twodelab Ah, you‘re getting the bits differently then! That does sound more logical for „normal size“ scenes tho. Some objects would prob get the same morton code, but i guess exact order in localised areas doesn‘t matter much, right? I wonder if this scales to a large open world though…
English











