Coherence denotes similarities between items or entities. It describes the extent to which these items or entities are locally constant. In many situations properties do not change drastically but rather in a smooth or continuous way. Coherence is based on the principle of locality, whereby "nearby" things do have the same or similar characteristics. In the field of computer science and computer graphics coherence properties have been exploited in a variety of different methods and techniques. With coherence processing of data can be accelerated considerably, e.g., hidden line/hidden surface removal.

Data can be stored more efficiently by eliminating redundancies due to coherence, e.g., run length encoding of raster images. Some approximate or incremental techniques are only useful in coherent situations, e.g., Newton iteration to determine the roots of a polynomial. In a coherent situation incremental methods can be designed that process an item by reusing the results obtained for a similar (coherent) item. Exploiting coherence leads to algorithms based on an incremental application of very simple operations, that in many cases can use "integer logic" to replace time-consuming floating-point arithmetic.

An incremental update operation is again feasible.

Shadow calculation is done by tracing rays from the point of intersection to the various light sources. Therefore, a ray tree is constructed to calculate the colour information for each pixel. Due to the spatial coherence and object coherence of the scene, similar rays, i.e., rays with similar origin and direction, often have almost the same behavior. Similar rays often intersect the same object, the points of intersection are close together and so on. This property is called ray coherence. The similarity between ray trees is analogously called ray tree coherence. One of the major drawbacks of ray tracing has been its excessive computational cost. An extensive amount of research has been done to accelerate ray tracing by taking advantage of the various types of coherence that are inherent in the raytracing technique.

Some examples in computer graphics where incremental computations are used with great advantage are: raster conversion of lines, circle, ellipses, shading of polygons (Gouraud, Phong), intersection calculations (edge - scan line, ray - parametrically defined surface patches). One problem with incremental calculations is numerical stability. Care has to be taken that error propagation is kept under control. There are systems, namely chaotic deterministic dynamic systems, that are highly sensitive to calculation errors. In such cases incremental processing is not applicable.

Data compression through incremental storage, i.e., storing only the hopefully small differences to previous data sets, is another example of coherence exploitation.

Incremental techniques typically constitute a trade-off between computation cost and storage cost. Instead of doing a costly calculation of a result from scratch the previous result is stored and, usually, has to be modified only slightly. Incremental techniques introduce a sequential ordering into the processing which might interfere with parallelization efforts.

Computation expense may be reduced by a constant factor but no improvement on the linear time complexity (in the number of objects) is achieved. Bounding volume hierarchies have been developed to attain a logarithmic time behavior in the number of objects. Bounding volumes are grouped together and are enclosed within larger bounding volumes recursively so that a hierarchy (tree) of bounding volumes is generated. Processing a parent volume may make it superfluous to consider bounding volumes and objects contained within. For example, if a ray does not intersect a parent volume there is no need to check for an intersection with all the corresponding child volumes. With one intersection test it is possible to eliminate many objects from further consideration.

In computer graphics subdivision is done to make use of the principle of locality that exists in coherent situations. Thereby subdivision tries to obtain coherent homogeneous regions that can be manipulated efficiently. Subdivision is applied to a variety of different spaces, e.g., image space, object space, ray space, time space. With subdivision faster calculation, parallel processing and reduction in storage requirements are achievable.

- A grid is a subdivision of 3D space into regular cubical elements to exploit object and hierarchical coherence.
- An octree describes an adaptive hierarchical subdivision of 3D
space.

- The BSP-tree (Binary Space Partitioning) is a hierarchical data structure designed for storing polygonal objects.
- CSG (Constructive Solid Geometry) defines an object through a binary tree. A CSG tree usually contains an efficient bounding volume hierarchy (hierarchical coherence).
- Many data structures utilize subdivisions to reduce the manipulation cost from linear to logarithmic, such as interval trees, segment trees and range trees.