BVH is LOD for rays, not for geometry, so that instead of searching trough the billions of triangles, we can search just through a small subset of the primitives encapsulated in the hierarchical data structure.
BVH is not LOD for rays. Rays obviously need no LOD because they are just a line.
So what BVH achieves is reducing the need to iterate over all triangles, but you agree this has nothing to do with detail.
The main advantage of BVH is that you don't need to simplify the original geometry to reduce the amount of work.
No.
This is the first match i found for 'level of detail raytracing':
http://gamma.cs.unc.edu/RAY/ They talk about
simplified geometry integrated into kd-tree, and they get speed ups of 2x - 20x.
I didn't read the paper - the idea is obvious. Example:
BVH:
tree level 0: coarse geometry
level 1: a bit more detail.
level 2: medium detail.
level 3: high detail.
level 4: super high detail.
If we trace a ray, we look at its current length and know upfornt: We are happy with medium detail because the model is distant. We only need to traverse the hierarchy down to level 2, so we save half of the work. Even on RTX 3090 or any other magic black box, it is only half of work.
Even better: We set up all models based on camera distance to have only the levels of BVH and eventually only the single level of detail which matches screen resolution. And we stream in or BVH only down to this level to save memory.
We get much higher performance AND better image quality.
This, and only this is how realtime raytracing has to look like.
If this is not possible, IMHO RT is inefficient and ill defined for the needs of games.
Conclusion: Not Nanite has to be fixed to support RT. RT has to be fixed to support Nanite. Because Nanite is clearly ahead in efficiency and scaling, or general understanding of how hierarchies can be used to solve many problems at once.
Wake me up when DXR is ready. Til then, have fun with marbles, Lego, and a niche market of rich gamers.
The main disadvantage is that it's dependent on scene topology to some extend, so mindlessly slapping geometry together may not always work, but that's rather corner cases and they can be worked around.
If you mean UE5s overlapping models, then i need to ask: Rasterization has the exact same problem causing overdraw. So why can we now solve this problem with HW rasterization, but not with new and shiny HW raytracing? Do we really need to wait 20 years again? Is it ok to repeat the same mistakes using shallow excuses like 'We need to get started with something... It will get better, maybe...'. Nah. It's not. The damage has been done and now they need to fix their broken designs on our costs.
Nanite uses clusters for LODs, so that triangles are close to pixel sizes, but not smaller. Does it really make sense to do the same with RT?
Sure it does! Less triangles is faster and less space, less tree levels is faster and less space. It's as simple as that.
It's true, there are tons of examples on YouTube, etc.:
Implement BVH traversal and tracing yourself and you'll see it's not true. What you see is not 'ture', it only is 'good enough'. But good enough is not optimal.
And i don't want 1000 instances of a Ferrari in my GTA. I want 1000 cars each looking different.
This certainly can be optimized, it just that nobody have tried it yet.
We can't try at all because it's black boxed. Though there are many papers about compression of acceleration structures, and they all have in common: More triangles -> more memory.
That's not the same as ignoring the problem, that's just a different way to solve the same problem.
Waiting until somebody else (NV, MS...) solves your problem is the same as ignoring it. You may trust in them to understand and solve our problems, i don't. Recently i even see an increasing conflict of interests between HW vendors and games industry, so i doubt it even more. We need to guide them, not the other way around.
I don't think it's a better algorithm, it's way more complex and has many limitations on supported geometry types because of this complexity, it is also made of different solutions and doesn't solve tons of problems in nice, transparent and unified way like RT does.
Correct, but they focus on the low hanging fruit first, which is opaque, static geometry, making the vast majority of game worlds. Results speak for themselves. Also, geometry is generally harder than graphics, and their solution is practical and a very good compromise.