NAME
fglLineStipple - specify the line stipple pattern
FORTRAN SPECIFICATION
SUBROUTINE fglLineStipple( INTEGER*4 factor,
INTEGER*2 pattern )
PARAMETERS
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 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 fglBegin is called, and
before each line segment of a fglBegin(GL_LINES)/fglEnd
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 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 fglEnable and
fglDisable 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 fglLineStipple is
executed between the execution of fglBegin and the
corresponding execution of fglEnd.
ASSOCIATED GETS
fglGet with argument GL_LINE_STIPPLE_PATTERN
fglGet with argument GL_LINE_STIPPLE_REPEAT
fglIsEnabled with argument GL_LINE_STIPPLE
SEE ALSO
fglLineWidth, fglPolygonStipple