glLineStipple: specify the line stipple pattern.
C Specification |
Parameters |
Description |
Errors |
Associated Gets |
See Also
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 [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 1s.
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) mod 16 = 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 1width 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
1s. Initially, line stippling is disabled.
- GL_INVALID_OPERATION is generated if glLineStipple is executed between
the execution of glBegin and the
corresponding execution of glEnd.
glGet with argument
GL_LINE_STIPPLE_PATTERN
glGet with argument
GL_LINE_STIPPLE_REPEAT
glIsEnabled with argument
GL_LINE_STIPPLE
glLineWidth,
glPolygonStipple