6 releases
Uses new Rust 2024
| 0.3.1 | Mar 28, 2026 |
|---|---|
| 0.3.0 | Feb 1, 2026 |
| 0.2.2 | Oct 29, 2025 |
| 0.2.1 | Jul 9, 2025 |
| 0.1.0 | Jul 25, 2024 |
#132 in Graphics APIs
19,977 downloads per month
Used in 25 crates
(4 directly)
2MB
6K
SLoC
OBVHS - BVH Construction and Traversal Library
- PLOC BVH2 builder with Parallel Reinsertion and spatial pre-splits.
- CWBVH An eight-way compressed wide BVH8 builder. Each BVH Node is compressed so that it takes up only 80 bytes per node.
- Tools for dynamically updating and optimizing the BVH2. (Added in 0.3)
- CPU traversal for both BVH2 and CWBVH (SIMD traversal, intersecting 4 nodes at a time)
- For GPU traversal example, see the Tray Racing benchmark
OBVHS optionally uses rayon to parallelize building.
Benchmarks
See Tray Racing.
Acknowledgments
- Tomasz Stachowiak for the initial rust/embree CWBVH builder, HLSL traversal, and numerous discussions along the way.
- Jan Van Bergen for their wonderful CUDA path tracer that implements CWBVH.
- Arsène Pérard-Gayot for their series of articles on BVHs and BVH library.
- H. Ylitie et al. for Efficient Incoherent Ray Traversal on GPUs Through Compressed Wide BVHs.
- D. Meister et al. for Parallel Locally-Ordered Clustering for Bounding Volume Hierarchy Construction, Parallel Reinsertion for Bounding Volume Hierarchy Optimization, and Performance Comparison of Bounding Volume Hierarchies for GPU Ray Tracing.
- Erin Catto for Dynamic Bounding Volume Hierarchies.
Dependencies
~7–23MB
~327K SLoC