void glLineStipple(GLint factor, GLushort pattern)
factor | 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 |
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. |
Counter s is reset to zero 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) mod 16
is zero, 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 1xwidth 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.