Well to explain that we first need to understand what it is really.
First off, let me say that I am visiting our forums often and have seen the way you guys react on Tesselation, like it is a non-feature. And with the current games and titles out there, sure I agree. That doesn't mean that it isn't a huge step forward with games to come though as you can add object complexity in a fairly cheap series of compute cycles on over the GPU -- game developers want this as it saves them time creating complex geometry and objects. So in the future what you will see in games is a much more complex and better looking environment. Detailed terrain, complex characters .. Tesselation can be applied on numerous objects in a 3D scene.
DX 11 pipeline - from input assembly:
So the biggest DirectX 11 feature that I am excited about personally is that we'll finally have a hardware tessellation unit inside the GPU that DirectX can utilize. We are going to spend an entire page on this feature that both DX11 class graphics cards from NVIDIA and ATI will have embedded.
What is tessellation? Simply put it's adding more detail to 3D objects, real-time on the fly. With the arrival of DX11 class graphics cards ATI and NVIDIA now include hardware tessellation units inside the GPU's, fully programmable.
Tessellation simply means increasing your polygon count to get more detail. Look at the image below.
Tessellation is the process of subdividing a surface into smaller shapes. To describe object surface patterns, tessellation breaks down the surface of an object into manageable polygons. Triangles or quadrilaterals are two commonly used polygons in drawing graphical objects because computer hardware can easy manipulate and calculate these two simple polygons. An object divided into quads and subdivided into triangles for convenient calculation.
Now at the first frame you can see a face. There's a small number of polygons in there. It's anno 2010, and we demand more detailed objects in our 3D scene. So by recursively applying a subdivision rule we can increase the number of polygons. Now look at the second and third faces. There's so much more detail. This process can now be done 100% at GPU level in hardware without a significant impact on performance.
For DirectX 11 the tessellation portion of the pipeline has been wrapped with two new shader types that can be used, the Hull Shader and the Domain Shader.
Now some of you might have noticed it already from previous reviews. Tessellation isn't something new, ATI already had a hardware tessellation unit in their GPUs for years. But the older units could not be addressed whatsoever in DirectX as the API did not support it
Another good example for the usage of tessellation would be terrain building. This technique is especially useful for creating complex-looking terrain using a combination of very simple base geometry with a height map, and a texture map. And perhaps more interesting is that this generated terrain can be deformed dynamically by manipulating the height map.
NVIDIA has been showing examples with a new water demo and a real-time rendered hair demo, in the water demo the number of detail increases with a magnitude of 3 (5000 times more detail) while performance goes down by only a factor of factor two compared to the same scene without Tessellation. Check that out:
This scene could have much polygonal complexity closer to the viewer or camera, and fewer polygons as distance from the camera increases. So let's do that.
There you go, tessellated complex rocks and yes, the water is tessellated as well. Tessellation will allow much higher quality rendering and animation at fairly low GPU compute cost. The generic rule here is the more tessellation, the slower the GPU gets, yet since there's now dedicated core logic for it on the GPU, it's fast and can boost your detail massively, thus giving an impression of sharpness and much finer quality.
The new DX 11 tessellation unit is programmable though two new shaders, the Domain and Hull shader. And remember, the higher the level of tessellation, the closer to realism the sharpness of the surface approaches.
Tessellation of course was something that was not available for the GT200 series of product and NVIDIA had to come up with a solution on GF100. They implemented significant tessellation and geometry performance increases thanks to the Polymorph engines we talked about earlier,
In the example above you can see the performance difference in-between a Radeon HD 5870 and GF100 At highly tessellated sequences of the Unigine demo, now this is not the overall score -- again this is in highly tessellated specific regions of the demo AND the results are provided by NVIDIA. But as you can see, we can assume that NVIDIA did their homework.
Nvidia GeForce GTX 750 and 750 Ti review In todays article we review the new GeForce GTX 750 and 750 Ti from Nvidia. These cards are affordable - low power - decent performance graphics cards that will allow you to game even at 1080P. these...
NVIDIA G-Sync Explored and Explained NVIDIA recently announced GSync, a technology that is named to be a game changer, yes G-Sync eliminated toe problems that come with VSYNC on and off. meaning no more Sync stuttering and or Screen te...
NVIDIA G-Sync explained On Friday NVIDIA announced G-Sync, and considering the little details available out there I wanted to write a quick follow-up on this new technology, as it really is a big announcement - a really bi...
NVIDIA GF100 (Fermi) Technology preview Last week we arrived at Sin City not only to cover CES but there was something else going on as well. In Las Vegas, NVIDIA had organized a briefing for a select group of the press. From Europe perhaps ten to fifteen people where invited for this somewhat privileged preview -- the topic, a technical overview of project Fermi. Fermi is of course the family name of the latest generation of GPUs from NVIDIA. The first chipset deriving from Fermi will be called the GF100 GPU which will likely be used on what we think will be called products like GeForce 360 and GeForce 380. Join us in a nice technology preview.