Table of Contents
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.
glGet with argument GL_POLYGON_MODE
glBegin(3G)
,
glEdgeFlag(3G)
, glLineStipple(3G)
, glLineWidth(3G)
, glPointSize(3G)
, glPolygonStipple(3G)
Table of Contents