glDrawArrays specifies multiple 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 vertexes, normals, and colors and use them to
construct a sequence of primitives with a single
call to glDrawArrays .
When glDrawArrays 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. If GL_VERTEX_ARRAY is not enabled, no
geometric primitives are generated.
Vertex attributes that are modified by glDrawArrays have an
unspecified value after glDrawArrays returns. For example, if
GL_COLOR_ARRAY is enabled, the value of the current color is
undefined after glDrawArrays executes. Attributes that aren't
modified remain well defined.