GLPOLYGONSTIPPLE() MachTen Programmer’s Manual GLPOLYGONSTIPPLE()

NAME
glPolygonStipple - set the polygon stippling pattern

C SPECIFICATION
void glPolygonStipple( const GLubyte *mask )

delim $$

PARAMETERS
mask Specifies a pointer to a $32 times 32$ stipple pat-
tern that will be unpacked from memory in the same
way that glDrawPixels unpacks pixels.

DESCRIPTION
Polygon stippling, like line stippling (see glLineStip-
ple), masks out certain fragments produced by rasteriza-
tion, creating a pattern. Stippling is independent of
polygon antialiasing.

mask is a pointer to a $32 times 32$ stipple pattern that
is stored in memory just like the pixel data supplied to a
glDrawPixels call with height and width both equal to 32,
a pixel format of GL_COLOR_INDEX, and data type of
GL_BITMAP. That is, the stipple pattern is represented as
a $32 times 32$ array of 1-bit color indices packed in
unsigned bytes. glPixelStore parameters like
GL_UNPACK_SWAP_BYTES and GL_UNPACK_LSB_FIRST affect the
assembling of the bits into a stipple pattern. Pixel
transfer operations (shift, offset, pixel map) are not
applied to the stipple image, however.

To enable and disable polygon stippling, call glEnable and
glDisable with argument GL_POLYGON_STIPPLE. Polygon stip-
pling is initially disabled. If it’s enabled, a rasterized
polygon fragment with window coordinates $x sub w$ and $y
sub w$ is sent to the next stage of the GL if and only if
the ($x sub w~roman mod~32$)th bit in the ($y sub w~roman
mod~32$)th row of the stipple pattern is 1 (one). When
polygon stippling is disabled, it is as if the stipple
pattern consists of all 1’s.

ERRORS
GL_INVALID_OPERATION is generated if glPolygonStipple is
executed between the execution of glBegin and the corre-
sponding execution of glEnd.

ASSOCIATED GETS
glGetPolygonStipple
glIsEnabled with argument GL_POLYGON_STIPPLE

SEE ALSO
glDrawPixels, glLineStipple, glPixelStore, glPixelTransfer

MachTen 1