Visibility Driven BVH Build Up Algorithm for Ray Tracing
The minimization of traversal cost using surface area heuristic is extensively used to build high quality spatial subdivisions and bounding volume hierarchies for ray tracing. Despite the fair performance of trees built with the cost model, it is known that the underlying assumptions for surface area heuristics are not realistic. In this paper we show how the cost function of the surface area heuristic can be improved on using the assumed visibility of geometric primitives such as triangles. This way the build algorithm utilizes the exact or assumed visibility to construct more efficient BVHs by traversing smaller portion of the hierarchy. We show that by these inexpensive modifications to the cost function we can speed up the ray traversal by approximately 102% on average for path tracing of highly occluded scenes compared to standard surface area heuristics. Moreover, it is also possible to lower the construction time and memory usage by subdividing only those parts of the animated scene through which rays are expected to be traversed.