- 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 number of elements to be rendered.

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

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


DESCRIPTION

       glDrawElements  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  sepa-
       rate  arrays  of vertexes, normals, and so on and use them
       to construct a sequence of primitives with a  single  call
       to glDrawElements.

       When  glDrawElements is called, it uses _param2 sequential
       elements from an enabled array,  starting  at  _param4  to
       construct  a  sequence  of  geometric  primitives. _param1
       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 glDrawElements have
       an  unspecified  value  after  glDrawElements returns. For
       example, if GL_COLOR_ARRAY is enabled, the  value  of  the
       current  color is undefined after glDrawElements executes.
       Attributes that aren't modified  maintain  their  previous
       values.


NOTES

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

       glDrawElements  is   included   in   display   lists.   If
       glDrawElements  is entered into a display list, the neces-
       sary array data (determined  by  the  array  pointers  and


SEE ALSO

       glArrayElement,        glColorPointer,       glDrawArrays,
       glDrawRangeElements,   glEdgeFlagPointer,   glGetPointerv,
       glIndexPointer,    glInterleavedArrays,   glNormalPointer,
       glTexCoordPointer, glVertexPointer




                                                                1