'\" te '\"macro stdmacro .ds Vn Version 1.2 .ds Dt 24 September 1999 .ds Re Release 1.2.1 .ds Dp May 22 14:44 .ds Dm 4 May 22 14: .ds Xs 50127 5 .TH GLARRAYELEMENT 3G .SH NAME .B "glArrayElement \- render a vertex using the specified vertex array element .SH C SPECIFICATION void \f3glArrayElement\fP( GLint \fIi\fP ) .nf .fi .EQ delim $$ .EN .SH PARAMETERS .TP \w'\f2i\fP\ \ 'u \f2i\fP Specifies an index into the enabled vertex data arrays. .SH DESCRIPTION \%\f3glArrayElement\fP commands are used within \%\f3glBegin\fP/\%\f3glEnd\fP pairs to specify vertex and attribute data for point, line, and polygon primitives. If \%\f3GL_VERTEX_ARRAY\fP is enabled when \%\f3glArrayElement\fP is called, a single vertex is drawn, using vertex and attribute data taken from location \f2i\fP of the enabled arrays. If \%\f3GL_VERTEX_ARRAY\fP is not enabled, no drawing occurs but the attributes corresponding to the enabled arrays are modified. .P Use \%\f3glArrayElement\fP 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. .P Changes made to array data between the execution of \%\f3glBegin\fP and the corresponding execution of \%\f3glEnd\fP may affect calls to \%\f3glArrayElement\fP that are made within the same \%\f3glBegin\fP/\%\f3glEnd\fP period in non-sequential ways. That is, a call to .br \%\f3glArrayElement\fP 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. .SH NOTES \%\f3glArrayElement\fP is available only if the GL version is 1.1 or greater. .P \%\f3glArrayElement\fP is included in display lists. If \%\f3glArrayElement\fP 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. .SH SEE ALSO \%\f3glClientActiveTextureARB\fP, \%\f3glColorPointer\fP, \%\f3glDrawArrays\fP, \%\f3glEdgeFlagPointer\fP, \%\f3glGetPointerv\fP, \%\f3glIndexPointer\fP, \%\f3glInterleavedArrays\fP, \%\f3glNormalPointer\fP, \%\f3glTexCoordPointer\fP, \%\f3glVertexPointer\fP