Name

glInterleavedArrays -	simultaneously specify and enable
several interleaved arrays

Python Specification

glInterleavedArrays
	glInterleavedArrays(format, stride, pointer) -> None

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

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,
glDrawElements, glEdgeFlagPointer, glEnableClientState,
glGetPointer,	glIndexPointer,	glNormalPointer,
glTexCoordPointer, glVertexPointer

:: Documentation :: References :: GL ::
:: Index (n/a) ::