1991-2006
Silicon Graphics, Inc.
2010-2013
Khronos Group
glPolygonMode
3G

# glPolygonMode

select a polygon rasterization mode

## C Specification

                    void glPolygonMode
                    GLenum face
                    GLenum mode

## Parameters

`face`

  Specifies the polygons that `mode` applies to. Must be `GL_FRONT_AND_BACK` for front- and back-facing polygons.

`mode`

  Specifies how polygons will be rasterized. Accepted values are `GL_POINT`, `GL_LINE`, and `GL_FILL`. The initial value is `GL_FILL` for both front- and back-facing polygons.

## Description

`glPolygonMode` controls the interpretation of polygons for rasterization. `face` describes which polygons `mode` applies to: both front and back-facing polygons (`GL_FRONT_AND_BACK`). The polygon mode affects only the final rasterization of polygons. In particular, a polygon's vertices are lit and the polygon is clipped and possibly culled before these modes are applied.

Three modes are defined and can be specified in `mode`:

`GL_POINT`

  Polygon vertices that are marked as the start of a boundary edge are drawn as points. Point attributes such as `GL_POINT_SIZE` and `GL_POINT_SMOOTH` control the rasterization of the points. Polygon rasterization attributes other than `GL_POLYGON_MODE` have no effect.

`GL_LINE`

  Boundary edges of the polygon are drawn as line segments. Line attributes such as `GL_LINE_WIDTH` and `GL_LINE_SMOOTH` control the rasterization of the lines. Polygon rasterization attributes other than `GL_POLYGON_MODE` have no effect.

`GL_FILL`

  The interior of the polygon is filled. Polygon attributes such as `GL_POLYGON_SMOOTH` control the rasterization of the polygon.

## Examples

To draw a surface with outlined polygons, call

    glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);

## Notes

Vertices are marked as boundary or nonboundary with an edge flag. Edge flags are generated internally by the GL when it decomposes triangle stips and fans.

## Errors

`GL_INVALID_ENUM` is generated if either `face` or `mode` is not an accepted value.

## Associated Gets

glGet with argument `GL_POLYGON_MODE`

## See Also

glLineWidth, glPointSize

## Copyright

Copyright 1991-2006 Silicon Graphics, Inc. Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.