glPolygonMode3x
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_FRONTfor front-facing polygons,GL_BACKfor back-facing polygons, orGL_FRONT_AND_BACKfor front- and back-facing polygons.
- mode
-
Specifies how polygons will be rasterized. Accepted values are
GL_POINT,GL_LINE, andGL_FILL. The initial value isGL_FILLfor both front- and back-facing polygons.
Overview
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_SIZEandGL_POINT_SMOOTHcontrol the rasterization of the points. Polygon rasterization attributes other thanGL_POLYGON_MODEhave 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 asGL_LINE_WIDTHandGL_LINE_SMOOTHcontrol the rasterization of the lines. Polygon rasterization attributes other thanGL_POLYGON_MODEhave no effect.
GL_FILL-
The interior of the polygon is filled. Polygon attributes such as
GL_POLYGON_STIPPLEandGL_POLYGON_SMOOTHcontrol the rasterization of the polygon.
Examples
To draw a surface with filled back-facing polygons and outlined front-facing polygons, call glPolygonMode(GL_FRONT, 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 polygons; they can be set explicitly using glEdgeFlag.
Errors
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.
Associated gets
glGet with argument GL_POLYGON_MODE