From Terrain to Godrays: Better Use of DX11 Tessellation

Hardware Tessellation is one of the latest additions to the graphics programmer's tool kit. Originally only
available on the PC it is also now available on next generation consoles as well as mobile devices like Tegra K1.
Implementing tessellation in hardware is faster and more bandwidth efficient when compared to doing it in software.
The DX11 pipeline adds several stages and is fully programmable which opens it up for a variety of interesting techniques.
Developers creating AAA content are already using these techniques in shipping products including Metro Last Light,
Batman Arkham Origins and Assassin's Creed IV: Black Flag.

Terrain

The most obvious use for Tessellation is to add detail to Terrain which has to look good at a wide range of distances.
See this paper about Tessellation for Terrain for more details.

Displacement Mapping

Bump mapping simulates surface texture by storing surface normals in a texture.
Resulting objects appear to have more surface detail without adding geometry.
With tessellation it is possible to subdivide geometry and then actually displace
the surface based on a values stored in a texture, giving true surface displacement
before lighting for a more realistic effect. All data expansion takes place
inside the GPU so the impact on memory and bandwidth is less than with a
traditional technique.

Adjustable Shading Rate

In a traditional graphics pipeline developers have two places to do calculations,
the fragment and vertex shaders. For a large triangle applying shading in the vertex
shader may not provide sufficient visual quality but applying it per fragment maybe
too expensive. Tessellation and an almost completely programmable pipeline allows developers
to tessellate geometry to perform expensive calculations at an appropriate frequency.
This leads to some interesting possibilities for things like self-shadowing particles and godrays.

Do you want to know more?

Check out this presentation from NVIDIA engineers Andrei Tatarinov and Iain Cantlay called
From Terrain to Godrays - Better Use of DirectX11 which shows how DX 11 tessellation
can be used for terrain, displacement mapping as well as for volumetric effects like self-shadowing
particle effects and Godrays.