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