Building aHybridApproach to Space Division for Faster Raytracing
MetadataShow full item record
Raytracing models the natural phenomena of light to create photorealistic images. Effects like shadows, reflectance, and textures are produced with geometric equations. The majority of the computational workload to generate raytracedimages is spent determining ray-object intersections. Partitioning the space of the scene model has contributed to the speed-up of rayshooting(firing rays and finding the closest object intersection). The partition of space allows the intersection calculations to be performed more quickly by restricting the search space of possible collisions. However, making such a partition has a trade-off in performance versus cost of building such a structure. Scenes are highly variable in factors like sparseness so there is no one superior method to partition a three-dimensional space to optimize raytracing. In this paper, I investigate using a uniform grid to slice up the three dimensional space. This method does not slice the grid into boxes all at once but by splitting existing boxes iteratively. At each step, each box is sampled with a few rays to determine sparseness of the objects it contains. Based on a heuristic, that single box may be turned into its own bounding volume hierarchy or adaptive structure. I compare this hybrid approach to simply using a bounding volume hierarchy versus a uniform grid. A range of scenes are used to explore worst and average case scenarios. Performance is shown to be faster in the hybrid approach of not simply using a generic space division scheme.