- 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