Graphics Reference
In-Depth Information
3. The fixed function tessellator determines the final triangles that are rasterized.
Its partitioning method can be set to control how it interprets the parameters you
provide:
a. integer
b. pow2
c. f ractional_odd
d. fractional_even
Some key considerations when implementing a tessellation algorithm:
1. Water-tightness is important—when tessellating edges, always consider how
neighboring geometry will be tessellated as well.
2. Temporal changes can look ugly—take care to avoid popping, and consider using
morphing techniques for smooth transitions.
3. Varying the tessellation factors is your key to scaling quality versus performance.
The main steps in implementing tessellation are:
1. Provide a control mesh: the vertex and index buffers provided by your application
through the API now define control points, and not individual vertices specifying
each individual triangle.
2. Write a hull shader: create a custom HLSL shader that processes the control mesh
for two purposes: first to provide parameters to the fixed-function tessellator, and
second, to provide appropriate inputs to the domain shader.
3. Write a domain shader: another custom HLSL shader that uses individual sample
locations generated by the fixed-function tessellator, along with algorithm-
specific outputs from the hull shader to construct the final triangles to be sent to a
geometry shader (optional) and rasterized as part of the final image.
Search WWH ::




Custom Search