[Graphics]Bounding Volume Hierarchy Notes
keywords: Graphics, Bounding Volume Hierarchy, BVH, Ray Tracing, Collisi Detection
BVH
Documents
Bounding volume hierarchy
https://en.wikipedia.org/wiki/Bounding_volume_hierarchy
BVHs (part I)
https://madmann91.github.io/2020/12/28/bvhs-part-1.html
BVHs (part II)
https://madmann91.github.io/2021/01/06/bvhs-part-2.html
BVHs (part III)
https://madmann91.github.io/2021/01/08/bvhs-part-3.html
Papers
Efficient BVH Construction via Approximate Agglomerative Clustering
http://graphics.cs.cmu.edu/projects/aac/aac_build.pdf
Spatial Splits in Bounding Volume Hierarchies
https://www.nvidia.in/docs/IO/77714/sbvh.pdf
https://www.highperformancegraphics.org/previous/www_2009/presentations/stich-spatial.pdf
Fast Parallel Construction of High-Quality Bounding Volume Hierarchies
https://research.nvidia.com/publication/fast-parallel-construction-high-quality-bounding-volume-hierarchies
Maximizing Parallelism in the Construction of BVHs, Octrees, and k-d Trees
https://research.nvidia.com/publication/maximizing-parallelism-construction-bvhs-octrees-and-k-d-trees
Bounding volume hierarchies through treelet restructuring
http://www.google.com/patents/US20140365532
Agglomerative treelet restructuring for bounding volume hierarchies
http://www.google.com/patents/US20140365529
Examples
Computer Graphics Assignment about Bounding Volume Hierarchies
https://github.com/alecjacobson/computer-graphics-bounding-volume-hierarchy
Implementation for “Bounding Volume Hierarchy Optimization through Agglomerative Treelet Restructuring”
https://github.com/leonardo-domingues/atrbvh
A Simple, Optimized Bounding Volume Hierarchy for Ray/Object Intersection Testing
https://github.com/brandonpelfrey/Fast-BVH
A simple Vulkan-based renderer for my master thesis on real-time transparency
https://github.com/trungtle/TLVulkanRenderer
A modern C++ BVH construction and traversal library (Recommended)
https://github.com/madmann91/bvh
Source Code for “N-BVH: Neural ray queries with bounding volume hierarchies” (SIGGRAPH 2024)
https://github.com/WeiPhil/nbvh
Coding Adventure: Optimizing a Ray Tracer (by building a BVH) (Recommended)
https://www.youtube.com/watch?v=C1H4zIiCOaI
Libiaries
Single-header BVH construction and traversal library.
https://github.com/jbikker/tinybvh
BVH for Shadow Mapping
Papers
Faster Ray-Traced Shadows for Hybrid Rendering of Fully Dynamic Scenes by Pre-BVH Culling
https://diglib.eg.org/bitstream/handle/10.2312/stag20151295/085-092.pdf
Shallow Bounding Volume Hierarchies for Fast SIMD Ray Tracing of Incoherent Rays
https://www.uni-ulm.de/fileadmin/website_uni_ulm/iui.inst.100/institut/Papers/QBVH.pdf
SRDH: Specializing BVH Construction and Traversal Order Using Representative Shadow Ray Sets
http://graphics.cs.cmu.edu/projects/srdh/
http://graphics.cs.cmu.edu/projects/srdh/feltman12_srdh.pdf
Memory-Conserving Bounding Volume Hierarchies with Coherent Ray Tracing
http://pages.cpsc.ucalgary.ca/~blob/pdf/jeffmcbv.pdf
SATO: Surface Area Traversal Order for Shadow Ray Tracing
http://gamma.cs.unc.edu/SATO/SATO_files/sato_preprint.pdf
Ray Tracing Deformable Scenes using Dynamic Bounding Volume Hierarchies
http://www.sci.utah.edu/~wald/Publications/2006///BVH/download//dynbvh.pdf
A Survey on Bounding Volume Hierarchies for Ray Tracing
https://meistdan.github.io/publications/bvh_star/paper.pdf
Blogs
BVH Accelerated 3D Shadow Mapping
https://community.wolfram.com/groups/-/m/t/1112012
Daniel Meister, Sr. Software Engineer at AMD Japan Co. Ltd.
https://meistdan.github.io/
Examples
Ray Tracer implementation in C++, Random Sample AA, multi-threading, bvh acceleration, temporal denoising, soft shadows, and runtime comparisons on different CPUs
https://github.com/boonemiller/Ray-Tracer
This demo implements BVH construction and GPU traversal for rendering hard shadows.
https://github.com/kayru/RayTracedShadows
“People will do anything, no matter how absurd, to avoid facing their own souls.” ― Carl Gustav Jung