glArrayElement
Prev | GL | Next

## Name

glArrayElement — render a vertex using the specified vertex array element

## C Specification

`void `glArrayElement`` | `(` | `GLint `i`);`

## Python Specification

``glArrayElement`` | `(` | ``i`) → `None``

## Parameters

`i`
  Specifies an index into the enabled vertex data arrays.

## Description

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

## Notes

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

## See Also

glClientActiveTextureARB, glColorPointer, glDrawArrays, glEdgeFlagPointer, glGetPointerv, glIndexPointer, glInterleavedArrays, glNormalPointer, glTexCoordPointer, glVertexPointer

Prev | Up | Next
glAreTexturesResident | Home | glBegin