Gl.LineStipple (gb.opengl)
Static Sub LineStipple ( Factor As Integer, Pattern As Integer )
Specify the line stipple 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 /wiki/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
.
Counter
is reset to 0 whenever Gl.Begin is called
and before each line segment of a Gl.Begin(Gl.LINES)/Gl.End
sequence is generated.
It is incremented after each fragment of a unit width aliased line segment
is generated
or after each
fragments of an
width line segment are generated.
The
fragments associated with count
are masked out if
pattern bit
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
rectangles
for purposes of stippling.
Whether rectangle
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 Gl.Enable and Gl.Disable
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
Gl.LineStipple
is executed between the execution of Gl.Begin
and the corresponding execution of Gl.End.
Associated Gets
Gl.Get with argument Gl.LINE_STIPPLE_PATTERN
Gl.Get with argument Gl.LINE_STIPPLE_REPEAT
Gl.IsEnabled with argument Gl.LINE_STIPPLE
See also
See original documentation on OpenGL website