|
glPolygonMode(3G)
Contents
|
glPolygonMode - select a polygon rasterization mode
void glPolygonMode(
GLenum face,
GLenum mode );
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 backfacing
polygons. 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:
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. 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. The interior of the polygon
is filled. Polygon attributes such as GL_POLYGON_STIPPLE
and GL_POLYGON_SMOOTH control the rasterization of the
polygon.
Vertices are marked as boundary or nonboundary with an
edge option. Edge options 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
To draw a surface with filled back-facing polygons and
outlined front-facing polygons, call glPolygonMode(GL_FRONT,
GL_LINE);
glBegin(3), glEdgeFlag(3), glLineStipple(3),
glLineWidth(3), glPointSize(3), glPolygonStipple(3)
glPolygonMode(3G)
[ Back ] |