Tessellation is a graphical technique that has gotten a lot of love over recent times. This is due to the fact that the Fermi architecture underpinning the current generation of NVIDIA cards packs a lot of tessellation grunt, moreso than the competing cards from AMD. This has led to tessellation becoming almost a warcry for NVIDIA, who can’t pass up any opportunity to run a tessellation heavy benchmark and point out how awesome the hardware is at it.
Talk to AMD on the other hand and you’ll find a company that firmly believes that tessellation requires a deft hand rather than brute force. It stresses that when you ramp up levels of tessellation you actually add unnecessary complexity to a 3D scene, creating artifacts like subpixel polygons that require heavy computation for no visual payoff.
So it is a technology where there are clearly two camps, both pushing it in different ways. But what is tessellation and should we even care if it is there or not?
It is important to realise that tessellation is nothing new. It has been around on AMD’s hardware for years, is supported by the Xbox 360 and has also popped up in other graphics cards. But with DX 11 it has not only become mandatory feature, but also one that marketers want to use to sell video cards.
So what is tessellation (besides a marketing tool)? It is a way of generating more complex geometry in a 3D scene. It is best employed as a level of detail tool, making things look more intricate when close to the camera, and then losing a lot of that fine detail as the camera moves away. It give the illusion of complexity without the performance overhead that would come from rendering everything in high detail.
Like everything in 3D graphics it is a trick, if you stop and look at a tessellated scene you can pick out some telltale signs that the geometry is fake. Take a look at the screenshot below from Dragon Age 2 (which is a very pretty game once high res textures are applied). Especially check out the character’s feet. You can see that they are standing on flat ground, but this ground has been tessellated and appears to rise up to partially obscure the character’s feet. This is really obvious when pointed out in a screenshot, but when you are playing the game it is only noticeable when you are searching for it.
This Dragon Age 2 example gives a good idea of how much is enough. The scenes look better because of the use of the technology, but at no point do you feel that it is being used to show off. This is in stark contrast to the benchmark based applications of tessellation, which give great eye candy but hardly generate a ‘realistic’ image.
The defacto benchmark for tessellation performance is Unigine’s Heaven. This allows varying levels of tessellation to be applied, and it can then generate a performance score based off a series of scenes. NVIDIA loves Heaven because it demonstrates what its Fermi architecture is capable of. Because the GPUs have more tessellation hardware than AMDs, NVIDIA will always win out. Which is why it seems that journalists have to sit through the benchmark (often in 3D) everytime Nvidia does a briefing.
Crank the details down from Extreme and AMD’s RADEON cards perform just fine in Heaven. In fact, its 6000 series has upped tessellation performance a lot from the 5000 series. But this is one case where brute force isn’t a great solution. If you look at the images being pumped out by Heaven in Extreme, they look almost distorted. Cobblestones go from flat and boring with no tessellation, to suitably lumpy with a moderate amount to unfeasibly mountainous at extreme. This is graphically impressive, sure, but a real game wouldn’t have such impassible streetscapes.
This is important because because it tempers the big numbers that come out of benchmarks. Extreme results from Heaven should only really be used theoretically, as they don’t approximate the real world implementation of tesellation. Just because one architecture excels at a single feature doesn’t mean that we should focus on that feature.
In reality anything with a tessellation engine (namely any DX11 hardware) will be able to cope with the demands of games now and in the near future, no matter what NVIDIA’s favourite benchmark says.