glPolygonMode — select a polygon rasterization mode
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.
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/.