glPolygonMode
[New
- Windows 95, OEM Service Release 2]
The glPolygonMode
function selects a polygon rasterization mode.
void glPolygonMode(
GLenum face, |
|
GLenum mode |
|
); |
|
Parameters
face
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
The way
polygons will be rasterized. The following modes are defined and can be
specified in mode. The default is GL_FILL for both front- and
back-facing polygons.
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
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.
Remarks
The glPolygonMode
function controls the interpretation of polygons for rasterization. The face
parameter 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.
To draw a
surface with filled back-facing polygons and outlined front-facing polygons,
call
glPolygonMode(GL_FRONT, GL_LINE);
Vertices are
marked as boundary or nonboundary with an edge flag. Edge flags are generated
internally by OpenGL when it decomposes polygons, and they can be set
explicitly using glEdgeFlag
The following
function retrieves information related to glPolygonMode:
glGet
with argument GL_POLYGON_MODE
Error Codes
The following
are the error codes generated and their conditions.
Error
Code |
Condition |
GL_INVALID_ENUM
|
Either face
or mode was not an accepted value. |
GL_INVALID_OPERATION
|
glPolygonMode was called between a call to glBegin and the
corresponding call to glEnd. |
See Also