- render primitives from array data



C SPECIFICATION


PARAMETERS

       _param1  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.

       _param2  Specifies  the  starting  index  in  the  enabled
                arrays.

       _param3  Specifies the number of indices to be rendered.


DESCRIPTION

       glDrawArrays specifies multiple geometric primitives  with
       very  few subroutine calls. Instead of calling a GL proce-
       dure to pass each individual vertex, normal, texture coor-
       dinate,  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  _param3  sequential
       elements  from  each enabled array to construct a sequence
       of geometric primitives, beginning with  element  _param2.
       _param1 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 exam-
       ple, if GL_COLOR_ARRAY is enabled, the value of  the  cur-
       rent  color  is  undefined  after  glDrawArrays  executes.
       Attributes that aren't modified remain well defined.


NOTES

       glDrawArrays is available only if the GL version is 1.1 or
       greater.

       glDrawArrays is included in display lists. If glDrawArrays
       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




                                                                1