gl.LineStipple(factor, pattern)
pattern
, the repeat count factor
, and an integer stipple counter s.
Counter s 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 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 % 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*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 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.
Alternatively, you can also pass a string consisting of 16 characters that are either 0 or 1 in pattern
, e.g. "1111000011110000".
Please consult an OpenGL reference manual for more information.
#GL_INVALID_OPERATION
is generated if gl.LineStipple()
is executed between the execution of gl.Begin() and the corresponding execution of gl.End().
#GL_LINE_STIPPLE_PATTERN
gl.Get() with argument #GL_LINE_STIPPLE_REPEAT
gl.IsEnabled() with argument #GL_LINE_STIPPLE