We present a new approach to accelerating general ray shooting. Our technique uses a five-dimensional ray space partition and is based on the classic ray-classication algorithm. Where the original algorithmevaluates intersection candidates at run-time, our solution evaluates them as a preprocess.
The offline nature of our solution allows for an adaptive subdivision of ray space. The advantage being, that it allows for the placement of a user set upper bound on the number of primitives intersected.
The candidate sets produced account for occlusion, thereby reducing memory requirements and accelerating the ray shooting process. A novel algorithm which exploits graphics hardware is used to evaluate the candidate sets. It is the treatment of occlusion that allows for the practical precomputation of the ray space partition. This algorithm is called aggressive since it is optimal (no invisible primitives are included), but may result in false exclusion of visible primitives. Error is minimised through the adaptive sampling