glInterleavedArrays
[New
- Windows 95, OEM Service Release 2]
The glInterleavedArrays
function simultaneously specifies and enables several interleaved arrays in a
larger aggregate array.
void glInterleavedArrays(
GLenum format, |
|
GLsizei stride, |
|
const GLvoid * pointer |
|
); |
|
Parameters
format
The type of
array to enable. The parameter can assume one of the following symbolic values:
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, or GL_T4F_C4F_N3F_V4F.
stride
The offset in
bytes between each aggregate array element.
pointer
A pointer to
the first element of an aggregate array.
Remarks
With the glInterleavedArrays
function you can simultaneously specify and enable several interleaved color,
normal, texture, and vertex arrays whose elements are part of a larger
aggregate array element. For some memory architectures this is more efficient
than specifying the arrays separately.
If the stride
parameter is zero then the aggregate array elements are stored consecutively;
otherwise stride bytes occur between aggregate array elements.
The format
parameter serves as a key that describes how to extract 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.
If 4UB follows the C, colors
may also be extracted as 4 unsigned bytes. If a color is extracted as 4
unsigned bytes the vertex array element that follows is located at the first
possible floating point aligned address.
If you call glInterleavedArrays
while compiling a display list, it is not compiled into the list but is
executed immediately.
You cannot
include calls to glInterleavedArrays in glDisableClientState
between calls to glBegin
Note The glInterleavedArrays
function is only available in OpenGL version 1.1 or later.
The glInterleavedArrays
function is implemented on the client side with no protocol. Because the vertex
array parameters are client-side state, they are not saved or restored by glPushAttrib
Error Codes
The following
are the error codes generated and their conditions.
Error
Code |
Condition |
GL_INVALID_ENUM
|
format was not an accepted value. |
GL_INVALID_VALUE |
stride was a negative value. |
GL_INVALID_OPERATION
|
glInterleavedArrays was called between a call to glBegin and the
corresponding call to glEnd. |
See Also