table of contents
GLPOLYGONSTIPPLE(3G) | OpenGL Manual | GLPOLYGONSTIPPLE(3G) |
NAME¶
glPolygonStipple - set the polygon stippling pattern
C SPECIFICATION¶
void glPolygonStipple(const GLubyte * pattern);
PARAMETERS¶
pattern
DESCRIPTION¶
Polygon stippling, like line stippling (see glLineStipple()), masks out certain fragments produced by rasterization, creating a pattern. Stippling is independent of polygon antialiasing.
pattern is a pointer to a 32 × 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 × 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.
If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer()) while a stipple pattern is specified, pattern is treated as a byte offset into the buffer object's data store.
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 x w and y w is sent to the next stage of the GL if and only if the (x w % 32)th bit in the (y w % 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 a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped.
GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size.
GL_INVALID_OPERATION is generated if glPolygonStipple is executed between the execution of glBegin() and the corresponding execution of glEnd().
ASSOCIATED GETS¶
glGetPolygonStipple()
glIsEnabled() with argument GL_POLYGON_STIPPLE
glGet() with argument GL_PIXEL_UNPACK_BUFFER_BINDING
SEE ALSO¶
glDrawPixels(), glLineStipple(), glPixelStore(), glPixelTransfer()
COPYRIGHT¶
Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.
AUTHORS¶
opengl.org
05/02/2014 | opengl.org |