|
glLineStipple(3G)
Contents
|
glLineStipple - specify the line stipple pattern
void glLineStipple(
GLint factor,
GLushort pattern );
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. 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) 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 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. 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(3), glPolygonStipple(3)
glLineStipple(3G)
[ Back ] |