Selects a polygon rasterization mode.
OpenGL C bindings library: libGL.a
void glPolygonMode(GLenum Face, GLenum Mode)
|Face||Specifies the polygons to which Mode applies. Must be GL_FRONT for frontfacing polygons, GL_BACK for backfacing polygons, or GL_FRONT_AND_BACK for frontfacing and backfacing polygons.|
|Mode||Specifies the way polygons are rasterized. Accepted values are GL_POINT, GL_LINE, and GL_FILL. The default is GL_FILL for both frontfacing and backfacing polygons.|
The glPolygonMode subroutine controls the interpretation of polygons for rasterization. The Face parameter describes which polygons the Mode parameters applies to: frontfacing polygons (GL_FRONT), backfacing 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 the Mode parameter:
|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 the glLineStipple subroutine for information on specifying the line stipple pattern.) 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.|
Vertices are marked as boundary or nonboundary with an edge flag. Edge flags are generated internally by the GL when it decomposes polygons, and they can be set explicitly with the glEdgeFlag subroutine.
|GL_INVALID_ENUM||Face or Mode is not an accepted value.|
|GL_INVALID_OPERATION||The glPolygonMode subroutine is called between a call to glBegin and the corresponding call to glEnd.|
Associated gets for the glPolygonMode subroutine are as follows. (See the glGet subroutine for more information.)
glGet with argument GL_POLYGON_MODE.
To draw a surface with filled backfacing polygons and outlined frontfacing polygons, enter the following:
|/usr/include/GL/gl.h||Contains C language constants, variable type definitions, and ANSI function prototypes for OpenGL.|
The glBegin or glEnd subroutine, glEdgeFlag subroutine, glLineStipple subroutine, glLineWidth subroutine, glPointSize subroutine, glPolygonStipple subroutine.