Click or drag to resize
DigitalRuneWhat is Occlusion Culling?

This topic contains the following sections:

What is occlusion culling?

Occlusion culling discards objects which are hidden from a certain point of view. This is achieved by testing the scene nodes against a set of occluders. An occluder is an object within a scene (such as a wall) that obscures the view and prevents objects behind it from being seen. Scene nodes that are occluded can be ignored during rendering.

Occlusion culling effectively reduces the number of objects that need to be rendered, as demonstrated in the following example.

Example

Each building in this example scene consists of 69 objects. The scene contains over 6900 objects in total.

Test scene  (OcclusionCullingSample)
Figure: Test scene (OcclusionCullingSample)

The building walls in this example act as occluders.

Occluders
Figure: Models (left) and occluders (right)

Objects behind a building are likely to be obscured. In the following screenshot, looking diagonally across scene, only a fraction of the objects are visible.

Camera view
Figure: Camera view

The top view illustrates the effectiveness of occlusion culling in this example: The left image shows the entire scene; the right image shows only the visible objects after occlusion culling.

Top view of scene
Figure: Top view of scene. Red lines indicate the viewing frustum.

Occlusion culling manages to reduces the number of objects from a few thousand down to a few hundred.

Video

Here is a video which demonstrates occlusion culling: