Sets the polygon stippling pattern.
OpenGL C bindings library: libGL.a
void glPolygonStipple(const GLubyte *Mask)
Mask | Specifies a pointer to a 32 x 32 stipple pattern that is unpacked from memory in the same way that the glDrawPixels subroutine unpacks pixels. |
Polygon stippling, like line stippling, masks out certain fragments produced by rasterization, creating a pattern. (See the glLineStipple subroutine.) Stippling is independent of polygon antialiasing.
The Mask parameter is a pointer to a 32 x 32 stipple pattern that is stored in memory just like the pixel data supplied to a glDrawPixels subroutine 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 x 32 array of 1-bit color indexes packed in unsigned bytes. The glPixelStore subroutine parameters such as 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.
Polygon stippling is enabled and disabled with the glEnable/glDisable subroutine pair, using argument GL_POLYGON_STIPPLE. If 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 were all 1s.
Associated gets for the glPolygonStipple subroutine are as follows. (See the glGet subroutine for more information.)
glIsEnabled with argument GL_POLYGON_STIPPLE.
GL_INVALID_OPERATION | The glPolygonStipple subroutine is called between a call to glBegin and the corresponding call to glEnd. |
/usr/include/GL/gl.h | Contains C language constants, variable type definitions, and ANSI function prototypes for OpenGL. |
The glBegin or glEnd subroutine, glDrawPixels subroutine, glEnable or glDisable subroutine, glGetPolygonStipple subroutine, glLineStipple subroutine, glPixelStore subroutine, glPixelTransfer subroutine.