DX11 - Hardware Tessellation | HDR Texture compression
One feature that I am really excited about personally is that we'll finally have a hardware tessellation unit inside the GPU that DirectX can utilize. But what is hardware tessellation you might ask? We are going to spend an entire page on this new feature that both DX11 class graphics cards from NVIDIA and ATI will have embedded.
Well... allow me, did you grab a cup of coffee already?
What is tessellation? Simply put it's adding more detail to 3D objects, real-time. And with the arrival of DX11 class graphics cards ATI and NVIDIA now include a hardware tessellation unit inside the GPU, a programmable tessellation unit.
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 2009, and we demand more deatailed 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 new, ATI already had a hardware tessellation unit in their GPUs for years. But the older units could not be addressed whatsoever in DirectX. The tessellation units featured in the ATI Radeon HD 2000, HD 3000 and HD 4000 series are all very much based on the same functionality found in the XBOX 360 'Xenos' graphics chip.
Some more examples -- 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.
A scene could have much polygonal complexity closer to the viewer or camera, and fewer polygons as distance from the camera increases.
Anyway, though technical and somewhat difficult to explain, try and remember this... tessellation will allow much higher quality rendering and animation at very 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.
As stated, 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.
DX11 - HDR texture compression
We doubt you care much about this info, but this is something developers like and requested. With DX11 also comes new texture compression methods BC6 and BC7. Microsoft boasts that these two compression formats are the best they can offer for the ratio of high-quality over performance.
Block compression 6 (BC6) compresses high dynamic range (HDR) data at a ratio of 6:1, given hardware support for decompression. BC7 offers 3:1 compression ratios for 8-bit low dynamic range (LDR) data.
Anyway I'd like to end this little chapter on DX11 now. Some soon to be released games that are DX11 compatible will be:
- Aliens vs. Predator (February 2010)
- BattleForge (DX11 patch expected in October)
- DiRT 2 (December 2009)
- S.T.A.L.K.E.R: Call of Pripyat (October 2009)
- Lord of the Rings Online (Q1 2010)
And sure, this is just a handful, but in the upcoming year expect a lot of titles as DX11 is the way to go for developers. Okay, enough about DirectX 11. One last thing, DirectX will become available on both Windows Vista and Windows 7.