When Microsoft launched DirectX 9.0c alongside the XBox 360, developers had a whole new bag of toys to play with that really made a difference in the way games looked. Most notably, high definition lighting effects and "bloom" allowed for a much more realistic scene. Fast forward to 2009 and DirectX 11 looks to offer even more breakthroughs. Not only do we have compute shaders that will allow for physics to be calculated without a proprietary API, but we have perhaps the biggest change in a decade: hardware tessellation.

Also known as a geometry shader, the hardware tessellation engine has actually been in ATI hardware for a couple of generations now, starting with the Radeon HD 2000 cards. This is a section of the GPU that can be seen in this block diagram of the HD 2900:

ATI HD 2900 Block: ATI HD 2900 Block

The "programmable tessellator" may look small on this block diagram, but it is in reality a rather large chunk of silicon that has mostly gone unused because of the lack of a unified API. Now that Microsoft has incorporated tessellation into DirectX and required this dedicated hardware from any GPU, we are already seeing some games incorporate this technology, and can expect to see many more in the future.

So what exactly does tessellation do?

There is one very good example right now of hardware tessellation called the Unigene Heaven Benchmark. This is a small rendering scene designed to show off DirectX 11 features, especially geometry shading. Unigene appears to be the only ones who have gotten it right so far, so I wanted to show off a couple of my favorite scenes.

Unigene Heaven CanonUnigene Heaven Canon With TessellationUnigene Heaven Dragon: Unigene Heaven DragonUnigene Heaven Dragon With Tessellation

 

 

 

 

 

 

These really show off what tessellation can do to objects. The canon shots without tessellation look like a pretty poor computer rendering, however once we apply DirectX 11 tessellation, the rope looks like rope, the screw is threaded, and the canon and it's ammunition are totally rounded. The dragon, which is one of the more popular shots, gains large spikes and his wings get more detail (although not much in all honesty). You can also see some of the tessellation effects on the surroundings, which is what the next set of shots really shows off.

Unigene Heaven RoofUnigene Heaven Roof With TessellationUnigene Heaven Roof and PipesUnigene Heaven Roof and Pipes with Tessellation

 

 

 

 

 

In the first set, the roof goes from being a pretty bog standard flat roof to really looking like it is made up of individual shingles once the DirectX 11 features are turned on. You can also see some of the stone work is affected in a very positive way. The second set shows tessellation again forming indentations in a coil, but more impressively shows how realistic this geometry is with depth of field being properly shaded also in the distance.

Unigene Heaven StairsUnigene Heaven Stairs with TessellationUnigene Heaven StoneUnigene Heaven Stone with TessellationUnigene Heaven WalkwayUnigene Heaven Walkway with Tessellation

 

 

 

 

 

The last set really shows off what tessellation can do for stone paths and walls. In the first stairs render, you can easily see that a simple flat incline is shown without much definition at all, except on the texture. Once tessellation kicks in, we have stairs! You can also see that the shadows are really rendered with this geometry making everything look simply real. The second set is similar, with plain flat surfaces becoming rocky walls once the geometry is added by the GPU. And lastly, you can see the walkway go from a flat and boring slab to an impressive rocky path.

You'll no doubt have noticed that the frame rate from each scene is displayed in the corner of each shot, and in some cases this extreme level of tessellation really hurts the Radeon HD 5850 that it was rendered on, despite a pretty decent overclock on both the GPU and the CPU. The canon scene, for instance, goes from a respectable 89 FPS all the way down to just 16 once extreme tessellation is enabled. The good news is that this effect is actually scalable. Unigene provides a total of 4 levels of tessellation, disabled, moderate, normal and extreme. So developers should be able to also allow for a couple of levels to help out those with mainstream cards.

The last things to mention when it comes to tessellation are the new GTX 470 and GTX 480 cards. In just about every review that I read, Heaven is mentioned at least once. I'll steal the numbers from the Anandtech review though, since they are probably the most reputable (and be sure to read his full review if you haven't yet):

Anandtech GTX 480 vs 5850 Rendering Heaven

Here you can see that the GTX maintains nearly 80% of its performance when moving from moderate to extreme, while the Radeon is totally crippled all the way down to 30% at its worst. This proves that the NVIDIA tessellation engine is the one to get if you are a forward thinking person, despite the cards' inabilities to kill the competition on today's titles.

So there you have it. Hopefully this has shown you how much you have to gain with the latest generation of DirectX, available with Radeon HD 5000-series and GeForce GTX 400-series cards. Be sure to drop off a comment below for more information!