Difference between revisions of "GLAPI/glPolygonMode"

From OpenGL.org
Jump to: navigation, search
m (Bot: Adding better formatting.)
m (Bot: Adding better formatting.)
 
Line 11: Line 11:
  
 
; face
 
; face
: Specifies the polygons that {{param|mode}} applies to. Must be {{code|GL_FRONT_AND_BACK}} for front- and back-facing polygons.
+
: Specifies the polygons that {{param|mode}} applies to. Must be {{enum|GL_FRONT_AND_BACK}} for front- and back-facing polygons.
 
; mode
 
; mode
: Specifies how polygons will be rasterized. Accepted values are {{code|GL_POINT}}, {{code|GL_LINE}}, and {{code|GL_FILL}}. The initial value is {{code|GL_FILL}} for both front- and back-facing polygons.
+
: Specifies how polygons will be rasterized. Accepted values are {{enum|GL_POINT}}, {{enum|GL_LINE}}, and {{enum|GL_FILL}}. The initial value is {{enum|GL_FILL}} for both front- and back-facing polygons.
  
 
== Description ==
 
== Description ==
  
'''glPolygonMode''' controls the interpretation of polygons for rasterization. {{param|face}} describes which polygons {{param|mode}} applies to: both front and back-facing polygons ({{code|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.
+
'''glPolygonMode''' controls the interpretation of polygons for rasterization. {{param|face}} describes which polygons {{param|mode}} applies to: both front and back-facing polygons ({{enum|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 {{param|mode}}:
 
Three modes are defined and can be specified in {{param|mode}}:
  
; {{code|GL_POINT}}
+
; {{enum|GL_POINT}}
: Polygon vertices that are marked as the start of a boundary edge are drawn as points. Point attributes such as {{code|GL_POINT_SIZE}} and {{code|GL_POINT_SMOOTH}} control the rasterization of the points. Polygon rasterization attributes other than {{code|GL_POLYGON_MODE}} have no effect.
+
: Polygon vertices that are marked as the start of a boundary edge are drawn as points. Point attributes such as {{enum|GL_POINT_SIZE}} and {{enum|GL_POINT_SMOOTH}} control the rasterization of the points. Polygon rasterization attributes other than {{enum|GL_POLYGON_MODE}} have no effect.
; {{code|GL_LINE}}
+
; {{enum|GL_LINE}}
: Boundary edges of the polygon are drawn as line segments. Line attributes such as {{code|GL_LINE_WIDTH}} and {{code|GL_LINE_SMOOTH}} control the rasterization of the lines. Polygon rasterization attributes other than {{code|GL_POLYGON_MODE}} have no effect.
+
: Boundary edges of the polygon are drawn as line segments. Line attributes such as {{enum|GL_LINE_WIDTH}} and {{enum|GL_LINE_SMOOTH}} control the rasterization of the lines. Polygon rasterization attributes other than {{enum|GL_POLYGON_MODE}} have no effect.
; {{code|GL_FILL}}
+
; {{enum|GL_FILL}}
: The interior of the polygon is filled. Polygon attributes such as {{code|GL_POLYGON_SMOOTH}} control the rasterization of the polygon.
+
: The interior of the polygon is filled. Polygon attributes such as {{enum|GL_POLYGON_SMOOTH}} control the rasterization of the polygon.
 
== Examples ==
 
== Examples ==
  
Line 43: Line 43:
 
== Errors ==
 
== Errors ==
  
{{code|GL_INVALID_ENUM}} is generated if either {{param|face}} or {{param|mode}} is not an accepted value.
+
{{enum|GL_INVALID_ENUM}} is generated if either {{param|face}} or {{param|mode}} is not an accepted value.
  
 
== Associated Gets ==
 
== Associated Gets ==
  
{{apifunc|glGet}} with argument {{code|GL_POLYGON_MODE}}
+
{{apifunc|glGet}} with argument {{enum|GL_POLYGON_MODE}}
  
 
== See Also ==
 
== See Also ==

Latest revision as of 12:27, 29 April 2012

glPolygonMode
Core in version 4.5
Core since version 1.0

glPolygonMode: select a polygon rasterization mode

Function Definition

 void glPolygonMode(GLenum face​, GLenum mode​);
face
Specifies the polygons that mode​ applies to. Must be 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: both front and back-facing polygons (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. 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_SMOOTH control the rasterization of the polygon.

Examples

To draw a surface with outlined polygons, call

glPolygonMode(, );

Notes

Vertices are marked as boundary or nonboundary with an edge flag. Edge flags are generated internally by the GL when it decomposes triangle stips and fans.

Errors

GL_INVALID_ENUM is generated if either face​ or mode​ is not an accepted value.

Associated Gets

glGet with argument GL_POLYGON_MODE

See Also

glLineWidth, glPointSize

Copyright

Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.