glPolygonMode.3gl







Name

  glPolygonMode	- select a polygon rasterization mode





C Specification

  void glPolygonMode( GLenum face,

		      GLenum mode )





Parameters



  face	Specifies the polygons that mode applies to.  Must be GL_FRONT for

	front-facing polygons, GL_BACK for back-facing polygons, or

	GL_FRONT_AND_BACK for front- and back-facing polygons.



  mode	Specifies the way polygons will	be rasterized.	Accepted values	are

	GL_POINT, GL_LINE, and GL_FILL.	 The default 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: 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	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.

		They are treated as connected line segments for	line

		stippling; the line stipple counter and	pattern	are not	reset

		between	segments (see glLineStipple).  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_STIPPLE and GL_POLYGON_SMOOTH control the

		rasterization of the polygon.



Examples

  To draw a surface with filled	back-facing polygons and outlined front-

  facing polygons, call	glPolygonMode(GL_FRONT,	GL_LINE);





Notes

  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 glEdgeFlag.





Errors

  GL_INVALID_ENUM is generated if either face or mode is not an	accepted

  value.



  GL_INVALID_OPERATION is generated if glPolygonMode is	executed between the

  execution of glBegin and the corresponding execution of glEnd.



Associated Gets

  glGet	with argument GL_POLYGON_MODE



See Also

  glBegin, glEdgeFlag, glLineStipple, glLineWidth, glPointSize,

  glPolygonStipple








Introduction | Alphabetic | Specification

Last Edited: Mon, May 22, 1995

AFV