Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide a CompoundMeshBVH class #651

Open
gkjohnson opened this issue Mar 15, 2024 · 0 comments
Open

Provide a CompoundMeshBVH class #651

gkjohnson opened this issue Mar 15, 2024 · 0 comments
Milestone

Comments

@gkjohnson
Copy link
Owner

gkjohnson commented Mar 15, 2024

Somewhat related to #388 about providing a TLAS for multiple objects at the scene level but this breaks down if the bounding boxes of the leaf objects are too large and have significant overlap. This ultimlately results in all BLAS being traversed anyway leading to no improvement.

This compound BVH could leverage the "indirect buffer" improvements made in #555 and index into multiple child meshes to avoid the issue with parent bounds overlapping.

  • Assumes meshes are roughly static, though refit is still possible.
  • Requires that geometry references do not change.
  • All vertices would need to be transformed by world matrices.
  • Would be easiest to implement with an abstraction that #243 and #388 would need.
  • Would require reserving some high bits for mesh index and low bits for triangle index or a separate buffer for mesh indices vs triangle index. (ie 10-14 bits for meshes, 22-18 bits for triangles). Could by dynamically computed by apparent needs.
@gkjohnson gkjohnson added this to the v0.x.x milestone Mar 15, 2024
@gkjohnson gkjohnson changed the title Provide a compound mesh bvh Provide a CompoundMeshBVH class Mar 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant