Graphics Reference
In-Depth Information
5
Applying Hardware
Tessellation
In this chapter, we will cover the following topics:
F Preparing the vertex shader and buffers for tessellation
F Tessellating a triangle and quad
F Tessellating bicubic Bezier surfaces
F Refining meshes with Phong tessellation
F Optimizing tessellation through back-face culling and dynamic Level-of-Detail
Introduction
Tessellation is the process of tiling/dicing a plane with one or more geometric shapes,
for example, the creation of mosaics. In Direct3D 11, this process refers to the division
of geometry into smaller triangles according to an algorithm and a tessellation factor.
Hardware tessellation is available in Shader Model 5.0 and, therefore, hardware must
support a Direct3D feature level of 11_0 or higher.
When applying tessellation, we are submitting a control point patch to the input assembler
using one of the available control point input topologies (supporting up to 32 control points
per patch). A patch is a Direct3D primitive made up of a list of control points. For example,
we can re-use our existing meshes, made up of triangle lists, for tessellation by using the
PrimitiveTopology.PatchListWith3ControlPoints enumeration value (natively,
D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH ). What each control point does or means
is entirely up to the implementation within the hull and domain shaders; the tessellator itself
does not use the control points as it doesn't know how to interpret them.
Search WWH ::




Custom Search