R300 includes support for higher order surfaces through the use of a fixed function tessellation engine. Higher order surfaces allow for increased geometric detail without the original source object being generated at that level. Doing so allows for higher geometric complexity without consuming the massive amount of AGP and local memory bandwidth that might be associated with such.
R300 supports a feature known as adaptive tessellation. While this is not a higher order surface in and of itself, it is an important feature worth consideration. When an object is tessellated, the geometric detail increases as the object comes nearer, while decreasing the distance from the object increases. Processing power is thus saved from rendering inessential detail.
Adaptive tesselation in action, left object has fewer triangles yet looks similar
Continuous tessellation is supported as well, providing smooth tessellation between detail levels. Often times software applications will provide multiple models of the same object with different levels of tessellation. In rendering these, the objects distance determines which model is rendered. The problem in doing such is that the object can “pop” into greater detail as it becomes near. One frame will feature a low detail model where the next frame suddenly has much greater detail.
Moving tessellation to the hardware level, continuous tessellation provides a constant, smooth transition between model details. Rather than jumping between detail levels, the level of detail is gradually increased as the object nears the viewer. There are no sudden changes, but a simple gradual progression. Doing so allows for the performance and quality benefits of tessellation, without the downfall of detail popping.
Since the release of R200, ATI has supported N-Patches, and this remains true with R300. N-Patches are a higher order surface that, when enabled, will tessellate rounded surfaces to greater detail. These can provide substantial increases in quality where used appropriately, as character detail can become significantly improved. Yet at the same time, if an application developer allows free use of N-patches on every game model, the scene can also become seriously distorted, as has been seen with certain games such as Serious Sam.
New to DirectX 9 is the support of displacement mapping. Displacement mapping is similar to bump-mapping in its effect, yet where bump-mapping simulates surface detail, displacement mapping increases geometry detail so that the enhancements are actually there. Within DirectX 9 there are two types of displacement mapping implementations used, only one is supported by ATI.