- specify the line stipple pattern
C SPECIFICATION
PARAMETERS
_param1 Specifies a multiplier for each bit in the line
stipple pattern. If _param1 is 3, for example,
each bit in the pattern is used three times
before the next bit in the pattern is used.
_param1 is clamped to the range [1, 256] and
defaults to 1.
_param2 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.
DESCRIPTION
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 _param2, the repeat count _param1,
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 frag-
ment of a unit width aliased line segment is generated, or
after each i fragments of an i width line segment are gen-
erated. The i fragments associated with count s are
masked out if
_param2 bit (s/_eqnparam1)mod16
is 0, otherwise these fragments are sent to the frame
buffer. Bit zero of _param2 is the least significant bit.
Antialiased lines are treated as a sequence of 1xwidth
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. Ini-
tially, line stippling is disabled.
ERRORS
GL_INVALID_OPERATION is generated if glLineStipple is exe-
cuted between the execution of glBegin and the correspond-