glPolygonMode: select a polygon rasterization mode.
C Specification |
Parameters |
Description |
Examples |
Notes |
Errors |
Associated Gets |
See Also
void glPolygonMode(
GLenum face,
GLenum mode)
- face
- Specifies the polygons that mode applies to. Must be
GL_FRONT for front-facing polygons,
GL_BACK for back-facing polygons, or
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.
glPolygonMode controls the interpretation of polygons for
rasterization. face describes which polygons
mode applies to: front-facing polygons
(GL_FRONT), back-facing polygons (GL_BACK), or
both (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. They are
treated as connected line segments for line stippling; the line stipple
counter and pattern are not reset between segments (see glLineStipple). 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_STIPPLE and GL_POLYGON_SMOOTH
control the rasterization of the polygon.
To draw a surface with filled back-facing polygons and outlined front-facing
polygons, call
glPolygonMode(GL_FRONT, GL_LINE);
Vertices are marked as boundary or nonboundary with an edge flag. Edge flags
are generated internally by the GL when it decomposes polygons; they can be
set explicitly using glEdgeFlag.
- GL_INVALID_ENUM is generated if either
face or mode is not an accepted value.
- GL_INVALID_OPERATION is generated if glPolygonMode is executed between
the execution of glBegin and the
corresponding execution of glEnd.
glGet with argument
GL_POLYGON_MODE
glBegin,
glEdgeFlag,
glLineStipple,
glLineWidth,
glPointSize,
glPolygonStipple