GLAPI/glPolygonMode: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Renaming category: 'API Reference 4' to 'Core API Reference'.
 
(2 intermediate revisions by one other user not shown)
Line 8: Line 8:
== Function Definition ==
== Function Definition ==


   void '''glPolygonMode'''(GLenum ''face'', GLenum ''mode'');
   void '''glPolygonMode'''(GLenum {{param|face}}, GLenum {{param|mode}});


; face
; face
: Specifies the polygons that ''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. ''face'' describes which polygons ''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 ''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 ''face'' or ''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 ==


[[GLAPI/glGet|glGet]] with argument {{code|GL_POLYGON_MODE}}
{{apifunc|glGet}} with argument {{enum|GL_POLYGON_MODE}}


== See Also ==
== See Also ==


[[GLAPI/glLineWidth|glLineWidth]], [[GLAPI/glPointSize|glPointSize]]
{{apifunc|glLineWidth}}, {{apifunc|glPointSize}}


== Copyright ==
== 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/ http://oss.sgi.com/projects/FreeB/].
Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see [https://khronos.org/registry/OpenGL-Refpages/LICENSES/LicenseRef-FreeB.txt LicenseRef-FreeB].


[[Category:Core API Ref Rasterization|PolygonMode]]
[[Category:Core API Ref Rasterization|PolygonMode]]
[[Category:Core API Reference|PolygonMode]]
[[Category:Core API Reference|PolygonMode]]

Latest revision as of 22:08, 5 February 2021

glPolygonMode
Core in version 4.6
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 LicenseRef-FreeB.