NAME
	  fglDrawElements - render primitives from array data


     FORTRAN SPECIFICATION
	  SUBROUTINE fglDrawElements( INTEGER*4	mode,
				      INTEGER*4	count,
				      INTEGER*4	type,
				      CHARACTER*8 indices )


     PARAMETERS
	  mode	   Specifies what kind of primitives to	render.
		   Symbolic constants GL_POINTS, GL_LINE_STRIP,
		   GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP,
		   GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP,
		   GL_QUADS, and GL_POLYGON are	accepted.

	  count	   Specifies the number	of elements to be rendered.

	  type	   Specifies the type of the values in indices.	Must
		   be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or
		   GL_UNSIGNED_INT.

	  indices  Specifies a pointer to the location where the
		   indices are stored.

     DESCRIPTION
	  fglDrawElements specifies multiple geometric primitives with
	  very few subroutine calls. Instead of	calling	a GL function
	  to pass each individual vertex, normal, texture coordinate,
	  edge flag, or	color, you can prespecify separate arrays of
	  vertexes, normals, and so on and use them to construct a
	  sequence of primitives with a	single call to
	  fglDrawElements.

	  When fglDrawElements is called, it uses count	sequential
	  elements from	an enabled array, starting at indices to
	  construct a sequence of geometric primitives.	mode specifies
	  what kind of primitives are constructed, and how the array
	  elements construct these primitives. If more than one	array
	  is enabled, each is used. If GL_VERTEX_ARRAY is not enabled,
	  no geometric primitives are constructed.

	  Vertex attributes that are modified by fglDrawElements have
	  an unspecified value after fglDrawElements returns. For
	  example, if GL_COLOR_ARRAY is	enabled, the value of the
	  current color	is undefined after fglDrawElements executes.
	  Attributes that aren't modified remain well defined.

     NOTES
	  fglDrawElements is available only if the GL version is 1.1
	  or greater.

	  fglDrawElements is included in display lists.	If
	  fglDrawElements is entered into a display list, the
	  necessary array data (determined by the array	pointers and
	  enables) is also entered into	the display list. Because the
	  array	pointers and enables are client-side state, their
	  values affect	display	lists when the lists are created, not
	  when the lists are executed.

     ERRORS
	  GL_INVALID_ENUM is generated if mode is not an accepted
	  value.

	  GL_INVALID_VALUE is generated	if count is negative.

	  GL_INVALID_OPERATION is generated if fglDrawElements is
	  executed between the execution of fglBegin and the
	  corresponding	fglEnd.

     SEE ALSO
	  fglArrayElement, fglColorPointer, fglDrawArrays,
	  fglEdgeFlagPointer,
	  fglGetPointerv, fglIndexPointer, fglInterleavedArrays,
	  fglNormalPointer,
	  fglTexCoordPointer, fglVertexPointer