_C_ License Applicability. Except to the extent portions of this file are _C_ made subject to an alternative license as permitted in the SGI Free _C_ Software License B, Version 1.1 (the "License"), the contents of this _C_ file are subject only to the provisions of the License. You may not use _C_ this file except in compliance with the License. You may obtain a copy _C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 _C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: _C_ _C_ http://oss.sgi.com/projects/FreeB _C_ _C_ Note that, as provided in the License, the Software is distributed on an _C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS _C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND _C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A _C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT. _C_ _C_ Original Code. The Original Code is: OpenGL Sample Implementation, _C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, _C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. _C_ Copyright in any portions created by third parties is as indicated _C_ elsewhere herein. All Rights Reserved. _C_ _C_ Additional Notice Provisions: The application programming interfaces _C_ established by SGI in conjunction with the Original Code are The _C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released _C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version _C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X _C_ Window System(R) (Version 1.3), released October 19, 1998. This software _C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation _C_ published by SGI, but has not been independently verified as being _C_ compliant with the OpenGL(R) version 1.2.1 Specification. _C_ _C_ The first character in this file must be an '_'! _C_ Anything on a line after _C_ is ignored _define(_filters,eqn)_C_ _C_ eqn is automatically replaced with neqn for nroff _header(PolygonMode,select a polygon rasterization mode) _names(PolygonMode) .SH PARAMETERS _phead(_param1) Specifies the polygons that _param2 applies to. Must be _const(FRONT) for front-facing polygons, _const(BACK) for back-facing polygons, or _const(FRONT_AND_BACK) for front- and back-facing polygons. _phead(_param2) Specifies how polygons will be rasterized. Accepted values are _const(POINT), _const(LINE), and _const(FILL). The initial value is _const(FILL) for both front- and back-facing polygons. .SH DESCRIPTION _cmnd controls the interpretation of polygons for rasterization. _param1 describes which polygons _param2 applies to: front-facing polygons (_const(FRONT)), back-facing polygons (_const(BACK)), or both (_const(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. .P Three modes are defined and can be specified in _param2: .TP 14 _const(POINT) Polygon vertices that are marked as the start of a boundary edge are drawn as points. Point attributes such as _const(POINT_SIZE) and _const(POINT_SMOOTH) control the rasterization of the points. Polygon rasterization attributes other than _const(POLYGON_MODE) have no effect. .TP _const(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 _cmnd(LineStipple)). Line attributes such as _const(LINE_WIDTH) and _const(LINE_SMOOTH) control the rasterization of the lines. Polygon rasterization attributes other than _const(POLYGON_MODE) have no effect. .TP _const(FILL) The interior of the polygon is filled. Polygon attributes such as _const(POLYGON_STIPPLE) and _const(POLYGON_SMOOTH) control the rasterization of the polygon. .SH EXAMPLES To draw a surface with filled back-facing polygons and outlined front-facing polygons, call .Ex 1 glPolygonMode(_const(FRONT), _const(LINE)); .Ee .SH NOTES 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 _cmnd(EdgeFlag). .SH ERRORS _const(INVALID_ENUM) is generated if either _param1 or _param2 is not an accepted value. .P _const(INVALID_OPERATION) is generated if _cmnd is executed between the execution of _cmnd(Begin) and the corresponding execution of _cmnd(End). .SH ASSOCIATED GETS _cmnd(Get) with argument _const(POLYGON_MODE) .SH SEE ALSO _cmnd(Begin), _cmnd(EdgeFlag), _cmnd(LineStipple), _cmnd(LineWidth), _cmnd(PointSize), _cmnd(PolygonStipple)