Graphics Reference
In-Depth Information
3.6.3 Tessellator Stage Processing
So what exactly is the operation that the tessellator stage performs with the tessellation
factors and configurations mentioned above? The simple answer is that it selects a series
of points within the given domain and then generates primitive data that creates an output
primitive from these points later in the pipeline. However, the details about how this is
performed and about how to control the produced output are not quite as clear. In this sec-
tion we will take a closer look at the tessellation process and what is being performed by
the tessellator stage.
Sample Locations
The tessellator stage is more of a data generation stage than a data processing stage. Once
a domain type has been specified, the inner tessellation factor and edge tessellation factors
specify how much tessellation to perform. The tessellation itself occurs in two steps. First,
tessellation points are chosen that will produce an appropriate number of triangles. If the
edge tessellation factors are higher than the interior factors, more points will be chosen
closer to the edges of the domain than in the middle. The inverse is also true—if a higher
tessellation factor is received for the interior, more points will be chosen in the inner por-
tion of the domain. This is depicted in Figure 3.25 for the quad domain.
The selected points are identified only by a set of coordinates within the current do-
main. At first, this is somewhat surprising when one considers what the tessellator stage
is doing. These coordinates are the only data that the tessellator produces, and they only
provide locations within a generic domain shape that should become vertices later, based
on the control patch produced by the hull shader. This is what was meant by calling the
tessellator stage a data generation stage instead of a data processing stage. It takes the
domain configuration and the set of tessellation factors, and then generates all of the re-
quired sample locations. The amount of output data will typically be larger than the amount
Figure 3.25. The regions of a quad that are affected by tessellation factors.
Search WWH ::




Custom Search