GLINTERLEAVEDARRAYSMachTen Programmer’s ManuGLINTERLEAVEDARRAYS()
NAME 
glInterleavedArrays - simultaneously specify and enable 
several interleaved arrays
C SPECIFICATION 
void glInterleavedArrays( GLenum format, 
GLsizei stride, 
const GLvoid *pointer )
PARAMETERS 
format Specifies the type of array to enable. Symbolic 
constants GL_V2F, GL_V3F, GL_C4UB_V2F, 
GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, 
GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, 
GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, 
GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are 
accepted.
stride Specifies the offset in
bytes between each aggre- 
gate array element.
DESCRIPTION 
glInterleavedArrays lets you specify and enable individual
color, normal, texture and vertex arrays whose elements 
are part of a larger aggregate array element. For some 
implementations, this is more efficient than specifying 
the arrays seperately.
If stride is 0, the aggregate
elements are stored consecu- 
tively. Otherwise, stride bytes occur between the begin-
ning of one aggregate array element and the beginning of
the next aggregate array element.
format serves as a
’key’ describing the extraction of 
individual arrays from the aggregate array. If format 
contains a T, then texture coordinates are extracted from
the interleaved array. If C is present, color values are
extracted. If N is present, normal coordinates are 
extracted. Vertex coordinates are always extracted.
The digits 2, 3, and 4 denote
how many values are 
extracted. F indicates that values are extracted as 
floating-point values. Colors may also be extracted as 4
unsigned bytes if 4UB follows the C. If a color is 
extracted as 4 unsigned bytes, the vertex array element 
which follows is located at the first possible floating-
point aligned address.
NOTES 
glInterleavedArrays is available only if the GL version is
1.1 or greater.
If glInterleavedArrays is called
while compiling a display 
list, it is not compiled into the list, and it is executed
immediately.
Execution of glInterleavedArrays
is not allowed between 
the execution of glBegin and the corresponding execution
of glEnd, but an error may or may not be generated. If no
error is generated, the operation is undefined.
glInterleavedArrays is typically
implemented on the client 
side.
Vertex array parameters are
client-side state and are 
therefore not saved or restored by glPushAttrib and 
glPopAttrib. Use glPushClientAttrib and glPopClientAttrib
instead.
ERRORS 
GL_INVALID_ENUM is generated if format is not an accepted
value.
GL_INVALID_VALUE is generated if stride is negative.
SEE ALSO 
glArrayElement, glColorPointer, glDrawArrays, glDrawEle-
ments, glEdgeFlagPointer, glEnableClientState, glGet- 
Pointer, glIndexPointer, glNormalPointer, glTexCoord- 
Pointer, glVertexPointer
MachTen 2