GLLINESTIPPLE(3gl)
NAME
glLineStipple - specify the line stipple pattern
C SPECIFICATION
- void glLineStipple( GLint factor,
- GLushort pattern )
- delim $$
PARAMETERS
- factor Specifies a multiplier for each bit in the line stipple pat
- tern. 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.
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 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.
ERRORS
GL_INVALID_OPERATION is generated if glLineStipple is executed between the execution of glBegin and the corresponding execution of glEnd.
ASSOCIATED GETS
glGet with argument GL_LINE_STIPPLE_PATTERN glGet with argument GL_LINE_STIPPLE_REPEAT glIsEnabled with argument GL_LINE_STIPPLE