Name

glLineStipple	- specify the line stipple pattern

Python Specification

glLineStipple
	glLineStipple(factor, pattern) -> None

C Specification

void glLineStipple( GLint factor,
                    GLushort 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 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 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 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.

Errors

GL_INVALID_OPERATION is generated if glLineStipple is
executed between the execution of glBegin and	the
corresponding	execution of glEnd.

Associated Gets

glGet	with argument GL_LINE_STIPPLE_PATTERN
glGet	with argument GL_LINE_STIPPLE_REPEAT
glIsEnabled with argument GL_LINE_STIPPLE

See Also

glLineWidth, glPolygonStipple

:: Documentation :: References :: GL ::
:: Index (n/a) ::