GLARRAYELEMENT(3G) | GLARRAYELEMENT(3G) |
glArrayElement - render a vertex using the specified vertex array element
void glArrayElement( GLint i )
glArrayElement commands are used within glBegin/glEnd pairs to specify vertex and attribute data for point, line, and polygon primitives. If GL_VERTEX_ARRAY is enabled when glArrayElement is called, a single vertex is drawn, using vertex and attribute data taken from location i of the enabled arrays. If GL_VERTEX_ARRAY is not enabled, no drawing occurs but the attributes corresponding to the enabled arrays are modified.
Use glArrayElement to construct primitives by indexing vertex data, rather than by streaming through arrays of data in first-to-last order. Because each call specifies only a single vertex, it is possible to explicitly specify per-primitive attributes such as a single normal per individual triangle.
Changes made to array data between the execution of glBegin
and the corresponding execution of glEnd may affect calls to
glArrayElement that are made within the same
glBegin/glEnd period in non-sequential ways. That is, a call
to
glArrayElement that precedes a change to array data may access the
changed data, and a call that follows a change to array data may access
original data.
glArrayElement is available only if the GL version is 1.1 or greater.
glArrayElement is included in display lists. If glArrayElement 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.
glClientActiveTextureARB, glColorPointer, glDrawArrays, glEdgeFlagPointer, glGetPointerv, glIndexPointer, glInterleavedArrays, glNormalPointer, glTexCoordPointer, glVertexPointer