glPolygonStipple
Prev | GL | Next

## Name

glPolygonStipple, glPolygonStippleub — set the polygon stippling pattern

## C Specification

`void `glPolygonStipple`` | `(` | `const GLubyte *`mask`);`

## Python Specification

``glPolygonStipple`` | `(` | ``mask`) → `None``
``glPolygonStippleub`` | `(` | ``mask`[][]) → `None``

## Parameters

`mask`
  Specifies a pointer to a 32 × 32 stipple pattern that will be unpacked from memory in the same way that `glDrawPixels` unpacks pixels.

## Description

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 32 × 32 stipple pattern that is stored in memory just like the pixel data supplied to a `glDrawPixels` call with heightand widthboth equal to 32, a pixel 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.

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 mod 32 )th bit in the ( y w 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 corresponding execution of `glEnd`.

## Associated Gets

`glGetPolygonStipple`

`glIsEnabled` with argument `GL_POLYGON_STIPPLE`

## See Also

glDrawPixels, glLineStipple, glPixelStore, glPixelTransfer

Prev | Up | Next
glPolygonOffset | Home | glPrioritizeTextures