---
name: "glPolygonStipple"
section: "3x"
platform: "linux"
package: "xlibmesa-gl-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/glPolygonStipple"
---

# glPolygonStipple(3x)

set the polygon stippling pattern

## 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 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 ~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  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 stippling 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 corresponding execution of **glEnd**.

## ASSOCIATED GETS

**glGetPolygonStipple**\
 **glIsEnabled** with argument **GL\_POLYGON\_STIPPLE**

## SEE ALSO

**glDrawPixels(3G)**, **glLineStipple(3G)**, **glPixelStore(3G)**, **glPixelTransfer(3G)**
