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...