A [[Bounding Volume]] Hierarchy is a type of [[Spatial Partitioning]] [[Tree]] [[Data Structure]]. The leaf nodes in a BVH store the objects, while internal nodes store bounding volumes of all its children bounding volumes. There are two types of BVH: - Dynamic BVTs - Build & Update at runtime - Static BVTs - Build once - Good for static objects - Tighter space ### Binary Tree ```cpp class Node { Aabb aabb; void* clientData; Node* left, *right, *parent; size_t height; }; ``` Ideally, $h=\lceil \log_{2}(n) \rceil$