glPolygonStipple: set the polygon stippling pattern.
C Specification |
Parameters |
Description |
Errors |
Associated Gets |
See Also
void glPolygonStipple(
const GLubyte *mask)
- mask
- Specifies a pointer to a 3232
stipple pattern that will be unpacked from memory in the same way that
glDrawPixels unpacks pixels.
Polygon stippling, like line stippling (see glLineStipple), masks out certain
fragments produced by rasterization, creating a pattern. Stippling is
independent of polygon antialiasing.
*mask is a pointer to a 3232 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
3232 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 stippling is initially
disabled. If it's enabled, a rasterized polygon fragment with window
coordinates xw and yw is sent to the next
stage of the GL if and only if the (xw mod
32)th bit in the (yw 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 1s.
- GL_INVALID_OPERATION is generated if glPolygonStipple is executed
between the execution of glBegin and
the corresponding execution of glEnd.
glGetPolygonStipple
glIsEnabled with argument
GL_POLYGON_STIPPLE
glDrawPixels,
glLineStipple,
glPixelStore,
glPixelTransfer