## 21.6. Isoline Tessellation

If the tessellation primitive mode is `IsoLines`

, a set of independent
horizontal line segments is drawn.
The segments are arranged into connected strips called *isolines*, where the
vertices of each isoline have a constant v coordinate and u coordinates
covering the full range [0,1].
The number of isolines generated is derived from the first outer
tessellation level; the number of segments in each isoline is derived from
the second outer tessellation level.
Both inner tessellation levels and the third and fourth outer tessellation
levels have no effect in this mode.

As with quad tessellation above, isoline tessellation begins with a
rectangle.
The u = 0 and u = 1 edges of the rectangle are subdivided
according to the first outer tessellation level.
For the purposes of this subdivision, the tessellation spacing mode is
ignored and treated as equal_spacing.
An isoline is drawn connecting each vertex on the u = 0 rectangle edge
to the corresponding vertex on the u = 1 rectangle edge, except that
no line is drawn between (0,1) and (1,1).
If the number of isolines on the subdivided u = 0 and u = 1
edges is n, this process will result in n equally spaced lines
with constant v coordinates of 0,
$\frac{1}{n}, \frac{2}{n},
\ldots, \frac{n-1}{n}$
.

Each of the n isolines is then subdivided according to the second
outer tessellation level and the tessellation spacing, resulting in m
line segments.
Each segment of each line is emitted by the tessellator.

The order in which the generated line segments are passed to subsequent
pipeline stages and the order of the vertices in each generated line segment
are both implementation-dependent.