*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> OpenGL/glbegin (3)              
Title
Content
Arch
Section
 

Contents


glBegin(3G)		       OpenGL Reference			   glBegin(3G)


NAME    [Toc]    [Back]

     glBegin, glEnd - delimit the vertices of a	primitive or a group of	like
     primitives

C SPECIFICATION    [Toc]    [Back]

     void glBegin( GLenum mode )

PARAMETERS    [Toc]    [Back]

     mode  Specifies the primitive or primitives that will be created from
	   vertices presented between glBegin and the subsequent glEnd.	 Ten
	   symbolic constants are accepted:  GL_POINTS,	GL_LINES,
	   GL_LINE_STRIP, GL_LINE_LOOP,	GL_TRIANGLES, GL_TRIANGLE_STRIP,
	   GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, and GL_POLYGON.

C SPECIFICATION    [Toc]    [Back]

     void glEnd( void )

DESCRIPTION    [Toc]    [Back]

     glBegin and glEnd delimit the vertices that define	a primitive or a group
     of	like primitives.  glBegin accepts a single argument that specifies in
     which of ten ways the vertices are	interpreted.  Taking n as an integer
     count starting at one, and	N as the total number of vertices specified,
     the interpretations are as	follows:

     GL_POINTS		    Treats each	vertex as a single point.  Vertex n
			    defines point n.  N	points are drawn.

     GL_LINES		    Treats each	pair of	vertices as an independent
			    line segment.  Vertices 2n-1 and 2n	define line n.
			    N/2	lines are drawn.

     GL_LINE_STRIP	    Draws a connected group of line segments from the
			    first vertex to the	last.  Vertices	n and n	+ 1
			    define line	n.  N-1	lines are drawn.

     GL_LINE_LOOP	    Draws a connected group of line segments from the
			    first vertex to the	last, then back	to the first.
			    Vertices n and n + 1 define	line n.	 The last
			    line, however, is defined by vertices N and	1.  N
			    lines are drawn.

     GL_TRIANGLES	    Treats each	triplet	of vertices as an independent
			    triangle.  Vertices	3n-2, 3n-1, and	3n define
			    triangle n.	 N/3 triangles are drawn.

     GL_TRIANGLE_STRIP	    Draws a connected group of triangles.  One
			    triangle is	defined	for each vertex	presented
			    after the first two	vertices.  For odd n, vertices
			    n, n + 1, and n + 2	define triangle	n.  For	even



									Page 1






glBegin(3G)		       OpenGL Reference			   glBegin(3G)



			    n, vertices	n + 1, n, and n	+ 2 define triangle n.
			    N-2	triangles are drawn.

     GL_TRIANGLE_FAN	    Draws a connected group of triangles.  One
			    triangle is	defined	for each vertex	presented
			    after the first two	vertices.  Vertices 1, n + 1,
			    and	n + 2 define triangle n.  N-2 triangles	are
			    drawn.

     GL_QUADS		    Treats each	group of four vertices as an
			    independent	quadrilateral.	Vertices 4n-3, 4n-2,
			    4n-1, and 4n define	quadrilateral n.  N/4
			    quadrilaterals are drawn.

     GL_QUAD_STRIP	    Draws a connected group of quadrilaterals.	One
			    quadrilateral is defined for each pair of vertices
			    presented after the	first pair.  Vertices 2n-1,
			    2n,	2n + 2,	and 2n + 1 define quadrilateral	n.
			    N/2-1 quadrilaterals are drawn.  Note that the
			    order in which vertices are	used to	construct a
			    quadrilateral from strip data is different from
			    that used with independent data.

     GL_POLYGON		    Draws a single, convex polygon.  Vertices 1
			    through N define this polygon.

     Only a subset of GL commands can be used between glBegin and glEnd.  The
     commands are glVertex, glColor, glIndex, glNormal,	glTexCoord,
     glEvalCoord, glEvalPoint, glArrayElement, glMaterial, and glEdgeFlag.
     Also, it is acceptable to use glCallList or glCallLists to	execute
     display lists that	include	only the preceding commands.  If any other GL
     command is	executed between glBegin and glEnd, the	error flag is set and
     the command is ignored.

     Regardless	of the value chosen for	mode, there is no limit	to the number
     of	vertices that can be defined between glBegin and glEnd.	 Lines,
     triangles,	quadrilaterals,	and polygons that are incompletely specified
     are not drawn.  Incomplete	specification results when either too few
     vertices are provided to specify even a single primitive or when an
     incorrect multiple	of vertices is specified. The incomplete primitive is
     ignored; the rest are drawn.

     The minimum specification of vertices for each primitive is as follows:
     1 for a point, 2 for a line, 3 for	a triangle, 4 for a quadrilateral, and
     3 for a polygon.  Modes that require a certain multiple of	vertices are
     GL_LINES (2), GL_TRIANGLES	(3), GL_QUADS (4), and GL_QUAD_STRIP (2).

ERRORS    [Toc]    [Back]

     GL_INVALID_ENUM is	generated if mode is set to an unaccepted value.






									Page 2






glBegin(3G)		       OpenGL Reference			   glBegin(3G)



     GL_INVALID_OPERATION is generated if glBegin is executed between a
     glBegin and the corresponding execution of	glEnd.

     GL_INVALID_OPERATION is generated if glEnd	is executed without being
     preceded by a glBegin.

     GL_INVALID_OPERATION is generated if a command other than glVertex,
     glColor, glIndex, glNormal, glTexCoord, glEvalCoord, glEvalPoint,
     glArrayElement, glMaterial, glEdgeFlag, glCallList, or glCallLists	is
     executed between the execution of glBegin and the corresponding execution
     glEnd.

     Execution of glEnableClientState, glDisableClientState,
     glEdgeFlagPointer,	glTexCoordPointer, glColorPointer, glIndexPointer,
     glNormalPointer, glVertexPointer, glInterleavedArrays, or glPixelStore is
     not allowed after a call to glBegin and before the	corresponding call to
     glEnd, but	an error may or	may not	be generated.

SEE ALSO    [Toc]    [Back]

      
      
     glArrayElement, glCallList, glCallLists, glColor, glEdgeFlag,
     glEvalCoord, glEvalPoint, glIndex,	glMaterial, glNormal, glTexCoord,
     glVertex


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
glEnd Tru64 delimit the vertices of a primitive or a group of like primglBeginitives
glBegin Tru64 delimit the vertices of a primitive or a group of like primglBeginitives
endline IRIX delimit the vertices of a line
bgnline IRIX delimit the vertices of a line
endpolygon IRIX delimit the vertices of a polygon
bgnpolygon IRIX delimit the vertices of a polygon
endclosedline IRIX delimit the vertices of a closed line
bgnqstrip IRIX delimit the vertices of a quadrilateral strip
bgntmesh IRIX delimit the vertices of a triangle mesh
endqstrip IRIX delimit the vertices of a quadrilateral strip
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service