Line stippling masks out certain fragments produced by rasterization;
those fragments will not be drawn.
The masking is achieved by using three parameters:
the 16-bit line stipple pattern pattern,
the repeat count factor,
and an integer stipple counter s.
Counter s is reset to 0 whenever glBegin is called,
and before each line segment of a glBegin (GL_LINES )/glEnd
sequence is generated.
It is incremented after each fragment of a unit width aliased line segment is generated,
or after each i fragments of an i width line segment are generated.
The i fragments associated with count s are masked out if
.sp
.ce
pattern bit (s ~/~ "factor") ~roman mod~ 16
.sp
is 0, otherwise these fragments are sent to the frame buffer.
Bit zero of pattern is the least significant bit.
Antialiased lines are treated as a sequence of 1 times width rectangles
for purposes of stippling.
Whether rectagle s is rasterized or not depends on the fragment rule
described for aliased lines,
counting rectangles rather than groups of fragments.
To enable and disable line stippling, call glEnable and glDisable
with argument GL_LINE_STIPPLE .
When enabled,
the line stipple pattern is applied as described above.
When disabled,
it is as if the pattern were all 1's.
Initially, line stippling is disabled.