|
Table of Contents
glInterleavedArrays - simultaneously specify and enable several interleaved arrays
void glInterleavedArrays( GLenum format,
GLsizei stride,
const GLvoid *pointer )
- 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 aggregate array element.
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
separately.
If stride is 0, the aggregate elements are stored consecutively.
Otherwise, stride bytes occur between the beginning 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.
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.
When the GL_ARB_multitexture extension is
supported, glInterleavedArrays only updates the texture coordinate array
for the active active texture unit. The texture coordinate state for other
client texture units is not update, regardless if they are enabled or
not.
GL_INVALID_ENUM is generated if format is not an accepted value.
GL_INVALID_VALUE is generated if stride is negative.
glArrayElement(3G)
,
glClientActiveTextureARB(3G)
, glColorPointer(3G)
, glDrawArrays(3G)
, glDrawElements(3G)
,
glEdgeFlagPointer(3G)
, glEnableClientState(3G)
, glGetPointer(3G)
, glIndexPointer(3G)
,
glNormalPointer(3G)
, glTexCoordPointer(3G)
, glVertexPointer(3G)
Table of Contents
|