Specifies a multiplier for each bit
in the line stipple pattern. If factor is 3, for example, each bit in the
pattern is used three times before the next bit in the pattern is used.
factor is clamped to the range [1, 256] and defaults to 1.

pattern

Specifies
a 16-bit integer whose bit pattern determines which fragments of a line
will be drawn when the line is rasterized. Bit zero is used first; the default
pattern is all 1's.

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

pattern bit $(s ~/~ "factor")
~roman mod~ 16$

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