Provided by: opengl-4-man-doc_1.0~svn33624-1_all bug

NAME

       glMultiDrawArrays - render multiple sets of primitives from array data

C SPECIFICATION

       void glMultiDrawArrays(GLenum mode, const GLint * first, const GLsizei * count,
                              GLsizei drawcount);

PARAMETERS

       mode
           Specifies what kind of primitives to render. Symbolic constants GL_POINTS,
           GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY, GL_LINES_ADJACENCY,
           GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY,
           GL_TRIANGLES_ADJACENCY and GL_PATCHES are accepted.

       first
           Points to an array of starting indices in the enabled arrays.

       count
           Points to an array of the number of indices to be rendered.

       drawcount
           Specifies the size of the first and count

DESCRIPTION

       glMultiDrawArrays specifies multiple sets of geometric primitives with very few subroutine
       calls. Instead of calling a GL procedure to pass each individual vertex, normal, texture
       coordinate, edge flag, or color, you can prespecify separate arrays of vertices, normals,
       and colors and use them to construct a sequence of primitives with a single call to
       glMultiDrawArrays.

       glMultiDrawArrays behaves identically to glDrawArrays() except that drawcount separate
       ranges of elements are specified instead.

       When glMultiDrawArrays is called, it uses count sequential elements from each enabled
       array to construct a sequence of geometric primitives, beginning with element first.  mode
       specifies what kind of primitives are constructed, and how the array elements construct
       those primitives.

       Vertex attributes that are modified by glMultiDrawArrays have an unspecified value after
       glMultiDrawArrays returns. Attributes that aren't modified remain well defined.

NOTES

       GL_LINE_STRIP_ADJACENCY, GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY and
       GL_TRIANGLES_ADJACENCY are available only if the GL version is 3.2 or greater.

ERRORS

       GL_INVALID_ENUM is generated if mode is not an accepted value.

       GL_INVALID_VALUE is generated if drawcount is negative.

       GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an enabled
       array and the buffer object's data store is currently mapped.

VERSION SUPPORT

       ┌──────────────────┬───────────────────────────────────────────────────────────────────────┐
       │                  │                OpenGL Version                                         │
       ├──────────────────┼─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┤
       │Function2.02.13.03.13.23.34.04.14.24.34.44.5 │
       │/                 │     │     │     │     │     │     │     │     │     │     │     │     │
       │Feature           │     │     │     │     │     │     │     │     │     │     │     │     │
       │Name              │     │     │     │     │     │     │     │     │     │     │     │     │
       ├──────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │glMultiDrawArrays │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       └──────────────────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

SEE ALSO

       glDrawElements(), glDrawRangeElements()

COPYRIGHT

       Copyright © 1991-2006 Silicon Graphics, Inc. Copyright © 2010-2014 Khronos Group. This
       document is licensed under the SGI Free Software B License. For details, see
       http://oss.sgi.com/projects/FreeB/.

COPYRIGHT

       Copyright © 2010-2014 Khronos Group

[FIXME: source]                             01/03/2018                      GLMULTIDRAWARRAYS(3G)