Do Use Level of Detail (LoD)#

Accounting for Level of Detail allows an application to improve performance while maintaining perceived graphical quality.

Level of Detail is an important consideration for an application, the concept of ‘good enough’ should be employed here. Application developers must consider the usage of expensive graphics effects and high quality assets against the impact on performance.

Mipmapping is one form of LoD, which was discussed in Mipmapping. A second consideration for LoD is geometry complexity. An appropriate level of geometry complexity should be used for each object or portion of an object.

Inadequate consideration of LoD leads to wasted resources#

The following are examples of a waste of compute and memory resources:

  • Using a large number of polygons for an object that will never cover more than a small area of the screen, like a distant background object.

  • Using polygons for detail that will never be seen due to camera angle, or culling – such as objects outside of the view frustum.

  • Using large numbers of primitives for objects that can be drawn with much fewer numbers, with minimal to no loss in visual fidelity. As an example - using many hundreds of polygons to render a single quad.

Consider using shader techniques to reduce geometry complexity#

Bump mapping can be used to minimise geometry complexity, but still maintain a high level of perceived detail. This is especially true for techniques such as reflection passes, where higher amounts of geometry may not be visible.