| OCR Text |
Show 32 raster. While subdivision with the Oslo algorithm requires more computation than the methods presented in [7,39,30], it is only done once as a preprocessing step which is minor compared to the time spent on ray tracing the scene. It also allows for much more general surface definitions. In order to generate the bounding volumes for the ray tracing process, a tree is constructed as the surface is subdivided. The root node is created with the original surface, and two children are created every time the surface is split. This continues until the subdivision generates two triangles (i.e., the surface was flat enough) which become leaf nodes of the tree. Once the tree is built, a set of hierarchical bounding boxes is built around the subdivision tree. A bounding box is formed by finding the maximum and minimum extents of each pair of triangles at the leaf nodes. The bounding boxes are grouped hierarchically by finding the union of each successive pair of nodes up the tree (Figure 3.4 ). These bounding boxes are used for finding the ray surface intersection -........... ~ / ----- ....... ~~ r--..t::.._ ~ ---- ~~ r-- I~ / 1/ // v ~ ~\I ~ " ~ ~ V"' ~ lJ v '\V \ ~ Figure 3.4. Hierarchical bounding volumes constructed around a refined surface |