Aug 12, 2010 18:11
Spent a bit of time playing with my new video card (GTX 460) which supports Direct3D 11.
D3D11 adds better support for displacement mapping - a graphics technique that makes it easier to display very fine geometric details on a surface (think brick & mortar texture on an otherwise flat wall). It does this by taking the triangles that are to be rendered, tesselating them very finely, then "crinkling" the tesselated surface to create additional detail (this is a massive simplification but should get the idea across).
One of the demos for D3D11 allows you to flip between an older technique (parallax occlusion mapping) and displacement mapping. The difference is quite dramatic - displacement mapping is easily twice as fast and doesn't suffer from any of the ugly error of parallax mapping.
This renders parallax mapping and all its variants obsolete, for the most part - they were a tricky and complex solution to a problem that could be solved via throwing more triangles at the screen (and slowing things down in the process), but at the time they were introduced the tradeoffs were acceptable.
With modern graphics cards, the number of triangles on screen at once is almost irrelevant - the processing power is so enormous and the screen resolutions are so high that even a large triangle workload still ends up being only a few percent of the overall rendering cost.
It's crazy how far graphics technology has come since I started doing it for a living in 1996. Back then we were rendering grains of sand, now we're rendering entire beaches. ;)