Gl.PolygonMode
(gb.opengl)
Syntax
STATIC SUB PolygonMode ( Face AS Integer, Mode AS Integer )
Select a polygon rasterization mode
Parameters
Description
Gl.PolygonMode controls the interpretation of polygons for rasterization. face describes which polygons mode applies to: front-facing polygons (Gl.GL_FRONT), back-facing polygons (Gl.GL_BACK), or both (Gl.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.GL_POINT polygon vertices that are marked as the start of a boundary edge are drawn as points. Point attributes such as Gl.Pointsize and Gl.GL_POINT_SMOOTH control the rasterization of the points. Polygon rasterization attributes other than Gl.PolygonMode have no effect.
- Gl.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 Gl.LineStipple). Line attributes such as Gl.LineWidth and Gl.GL_LINE_SMOOTH control the rasterization of the lines. Polygon rasterization attributes other than Gl.PolygonMode have no effect.
- Gl.GL_FILL the interior of the polygon is filled. Polygon attributes such as Gl.PolygonStipple and Gl.GL_POLYGON_SMOOTH control the rasterization of the polygon.
Examples
' Draw a surface with filled back-facing polygons and outlined front-facing polygons
Gl.PolygonMode(Gl.GL_FRONT, Gl.GL_LINE)
 |
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 using Gl.EdgeFlag.
|
Errors
Gl.GL_INVALID_ENUM is generated if either face or mode is not an accepted value.
Gl.GL_INVALID_OPERATION is generated if Gl.PolygonMode is called between a call to Gl.Begin and the corresponding call to Gl.End.
Associated Gets
Gl.GetPolygonMode
See also
Gl.Begin ,
Gl.EdgeFlag , Gl.LineStipple, Gl.LineWidth, Gl.PointSize, Gl.PolygonStipple