HDM Continued: Depth-Adaptive Tessellation

The Parhelia-512's HDM engine doesn't stop there however; one of the biggest benefits of this technology is seen with Depth-Adaptive Tessellation. As you'll remember from our article on ATI's Truform technology tessellation takes a low triangle count mesh and divides up the larger triangles into smaller ones to create a much higher triangle count. These smaller triangles can then be used to form better looking curved surfaces since a ball made out of four triangles looks more like a pyramid but make it out of 30 triangles and now you're talking.


The mesh on the right is a tessellated version of the mesh on the left.

Depth-Adaptive Tessellation is a very self-explanatory term but we'll explain it in detail to help you understand its benefits (this image may help). Since the example of a 3D terrain is the easiest to convey we'll use it again. Once the vertices making up a mesh of triangles are sent to the GPU, the mesh is tessellated to increase its detail. However during the tessellation process, depth-adaptive tessellation allows for various levels of detail (LODs) to be defined across the surface of the mesh; the farther away from the user's viewpoint the mesh is, the lower the level of detail is adjusted. Next a displacement map is mapped onto the tessellated mesh and each vertex is displaced by the appropriate value dictated by the map.

Now let's start walking through the scene. As we're standing on one corner of the terrain, only a certain portion of the terrain is clearly visible to us so that portion is defined as having the highest LOD possible (the most tessellated mesh and thus the highest polygon count possible while still performing well). The part of the terrain that isn't visible to us is assigned decreasing LODs that decrease the amount of tessellation and thus the polygon count of the parts of the scene that aren't clearly visible to the user. As you walk through the scene, the LODs change depending on your position and thus the entire environment is adaptively tessellating the base polygon meshes depending on the user's position in the environment. This way you always maximize polygonal detail while not wasting performance on unnecessarily tessellating parts of the environment that don't require great polygonal detail.

This concept is very similar to mip-mapping when it comes to textures but simply applied to displacement maps instead. Matrox has licensed this technology to Microsoft for use in DX9 and you will definitely see other vendors implement similar functions into future GPUs.

A major benefit of HDM is that using technologies such as Depth-Adaptive Tessellation you can produce a very detailed terrain using a low polygon count base mesh and a very small displacement map (multiple KBs in size). This saves traffic across the memory and AGP buses while allowing for extremely detailed scenes to be produced.

The HDM engine in the Parhelia-512 falls in at the very beginning of the pipeline during the vertex setup and shading stages.

Hardware Displacement Mapping Elegant Anti-Aliasing
Comments Locked

0 Comments

View All Comments

Log in

Don't have an account? Sign up now