GLPOLYGONMODE

Section: Misc. Reference Manual Pages (3G)
Index Return to Main Contents
 

NAME

glPolygonMode - 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_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  

SEE ALSO

glBegin(3G), glEdgeFlag(3G), glLineStipple(3G), glLineWidth(3G), glPointSize(3G), glPolygonStipple(3G)