Name
glPolygonMode — select a polygon rasterization mode
C Specification
void glPolygonMode
| ( | GLenum face
, GLenum mode
); |
Python Specification
glPolygonMode
| ( |
face
,
mode
) →
None
|
Parameters
-
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.
Description
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.
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
Python Sample Code
- glPolygonMode
- GL_FILL
- GL_FRONT
- GL_FRONT_AND_BACK
- GL_LINE