gl.PolygonMode(face, mode)
gl.PolygonMode()
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
#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
#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
#GL_POLYGON_STIPPLE
and #GL_POLYGON_SMOOTH
control the rasterization of the polygon.
The initial value is #GL_FILL
for both front- and back-facing polygons.
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 gl.EdgeFlag().
Please consult an OpenGL reference manual for more information.
#GL_INVALID_ENUM
is generated if either face
or mode
is not an accepted value.
#GL_INVALID_OPERATION
is generated if gl.PolygonMode()
is executed between the execution of gl.Begin() and the corresponding execution of gl.End().
#GL_POLYGON_MODE