Occlusion Culling

Подпись: Chapter 9 RENDERING The term “occlusion culling” defines methods that exclude all the objects hid­den by other objects before the actual image computation. In connection with local rendering methods, these objects are not even transferred to the graphics hardware. In connection with raytracing, these procedures are used to decrease the total complexity of the scene description, and to avoid unnecessary shadow computation.

In this case, the visibility of the light source is to be computed for the object points, and we must find out in the most efficient way whether or not one or more objects are in-between. If there are very many objects to be considered, occlusion culling can be helpful in decreasing this effort.

To execute the computation of the complete visibility information for every single point in a complex scene is much too time consuming. However, it is sufficient to compute the amount of the potentially visible triangles for a posi­tion or, better, for a subregion of a scene (a cell). While for the computation of every single position the depth buffer of the graphics hardware can be used – which executes the visibility test for each pixel, but has to be calculated sepa­rately for each image – this can be avoided when using cells.

Occlusion CullingПодпись: Figure 9.11 Occlusion culling: covered objects are defined and are sorted out
Here for the cell volume all parts of the scene that are visible are determined (volume visibility). Just like with the bounding objects, in this procedure often a conservative approximation is performed: all objects that could be visible are drawn, and only those are discarded that are guaranteed to be occluded. However, this permits many objects to be classified as visible, although they are actually not visible from most places in the cell. Consequently, the efficiency of this approach is not optimal.

If the objects are large and convex polygons, efficient methods can be found to determine occluded objects (see [187]). Schaufler et al. [189] extend the method to general objects in arbitrary scenes. The scene in this case is divided hierarchically into cells (see Fig. 9.9a) that are either fully opaque or transpar­ent. Looking from the cell of the virtual viewer, an object occludes a number of cells in the scene description and the corresponding objects do not need to be processed (see Fig. 9.11).

Подпись: terrainFor terrains different methods have been developed. Cohen-Or and Shaked [32], for example, delete parts of a terrain in a pixel-based method. Stewart [208] represents terrain using a quad tree with square cells, for which a horizon line is specified, and then defines together with the cell a set of areas from which

the cell is not visible. The visibility of the scene is computed in a recursive approach that determines the visibility of all cells, and, if visible and if suffi­ciently detailed, divides them further.

Подпись: Section 9.8 PLANT IMAGES USING RAYTRACING A general problem with occlusion culling with regard to plants is the absence of complete occlusion. The leaves of the plants often only cover parts of the back­ground, and thus make a conservative approximation of the occludee impossi­ble. Satisfactory occlusion culling methods for the rendering of these kinds of scenes are still missing.