glDrawArraysEXT.3gl




Name

  glDrawArraysEXT - render primitives from array data


C Specification

  void glDrawArraysEXT(	GLenum mode,
			GLint first,
			GLsizei	count )


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.

  first	 Specifies the starting	index in the enabled arrays.

  count	 Specifies the number of indices which should be rendered.

Description

  glDrawArraysEXT makes	it possible to specify multiple	geometric primitives
  with very few	subroutine calls. Instead of calling an	OpenGL procedure to
  pass each individual vertex, normal, or color, separate arrays of vertexes,
  normals, and colors can be prespecified, and used to define a	sequence of
  primitives (all of the same type) with a single call to glDrawArraysEXT.

  When glDrawArraysEXT is called, count	sequential elements from each enabled
  array	are used to construct a	sequence of geometric primitives, beginning
  with element first. mode specifies what kind of primitives are constructed,
  and how the array elements are used to construct these primitives. If
  GL_VERTEX_ARRAY_EXT is not enabled, no geometric primitives are generated.

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

  Operation of glDrawArraysEXT is atomic with respect to error generation.
  If an	error is generated, no other operations	take place.

Notes

  glDrawArraysEXT may be included in display lists. If glDrawArraysEXT 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.

  Static array data may	be read	and cached by the implementation at any	time.
  If static array elements are modified	and the	arrays are not respecified,
  the results of any subsequent	calls to glDrawArraysEXT are undefined.

  Although it is not an	error to respecify an array between the	execution of
  glBegin and the corresponding	execution of glEnd, the	result of such
  respecification is undefined.

  glDrawArraysEXT is part of the EXT_vertex_array extension, not
  part of the core GL command set. If "GL_EXT_vertex_array" is
  included in the string returned by glGetString, when called with argument
  GL_EXTENSIONS, extension EXT_vertex_array is supported.

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 glDrawArraysEXT is called between the
  execution of glBegin and the corresponding execution of glEnd.

See Also

  glArrayElementEXT, glColorPointerEXT,	glEdgeFlagPointerEXT,
  glGetPointervEXT, glIndexPointerEXT, glNormalPointerEXT,
  glTexCoordPointerEXT,	glVertexPointerEXT




Introduction | Alphabetic | Specification

Last Edited: Fri Feb 24, 1995

AFV