111 lines
3.7 KiB
Plaintext
111 lines
3.7 KiB
Plaintext
'\" te
|
|
'\"! tbl|eqn | mmdoc
|
|
'\"macro stdmacro
|
|
.ds Vn Version 1.2
|
|
.ds Dt 24 September 1999
|
|
.ds Re Release 1.2.1
|
|
.ds Dp Jan 14 18:30
|
|
.ds Dm 01 interleav
|
|
.ds Xs 31502 6 interleavedarrays.gl
|
|
.TH GLINTERLEAVEDARRAYS 3G
|
|
.SH NAME
|
|
.B "glInterleavedArrays
|
|
\- simultaneously specify and enable several interleaved arrays
|
|
|
|
.SH C SPECIFICATION
|
|
void \f3glInterleavedArrays\fP(
|
|
GLenum \fIformat\fP,
|
|
.nf
|
|
.ta \w'\f3void \fPglInterleavedArrays( 'u
|
|
GLsizei \fIstride\fP,
|
|
const GLvoid \fI*pointer\fP )
|
|
.fi
|
|
|
|
.SH PARAMETERS
|
|
.TP \w'\fIpointer\fP\ \ 'u
|
|
\f2format\fP
|
|
Specifies the type of array to enable. Symbolic constants
|
|
\%\f3GL_V2F\fP,
|
|
\%\f3GL_V3F\fP,
|
|
\%\f3GL_C4UB_V2F\fP,
|
|
\%\f3GL_C4UB_V3F\fP,
|
|
\%\f3GL_C3F_V3F\fP,
|
|
\%\f3GL_N3F_V3F\fP,
|
|
\%\f3GL_C4F_N3F_V3F\fP,
|
|
\%\f3GL_T2F_V3F\fP,
|
|
\%\f3GL_T4F_V4F\fP,
|
|
\%\f3GL_T2F_C4UB_V3F\fP,
|
|
\%\f3GL_T2F_C3F_V3F\fP,
|
|
\%\f3GL_T2F_N3F_V3F\fP,
|
|
\%\f3GL_T2F_C4F_N3F_V3F\fP,
|
|
and
|
|
\%\f3GL_T4F_C4F_N3F_V4F\fP
|
|
are accepted.
|
|
.TP
|
|
\f2stride\fP
|
|
Specifies the offset in bytes between each aggregate array element.
|
|
.SH DESCRIPTION
|
|
\%\f3glInterleavedArrays\fP 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.
|
|
.P
|
|
If \f2stride\fP is 0, the aggregate elements are stored consecutively.
|
|
Otherwise, \f2stride\fP bytes occur between the beginning of one
|
|
aggregate array element and the beginning of the next aggregate array
|
|
element.
|
|
.P
|
|
\f2format\fP serves as a ``key''
|
|
describing the extraction of individual arrays from the aggregate array.
|
|
If \f2format\fP 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.
|
|
.P
|
|
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.
|
|
.SH NOTES
|
|
\%\f3glInterleavedArrays\fP is available only if the GL version is 1.1 or greater.
|
|
.P
|
|
If \%\f3glInterleavedArrays\fP is called while compiling a display list, it is not
|
|
compiled into the list, and it is executed immediately.
|
|
.P
|
|
Execution of \%\f3glInterleavedArrays\fP is not allowed between the execution of
|
|
\%\f3glBegin\fP and the corresponding execution of \%\f3glEnd\fP,
|
|
but an error may or may not be generated. If no error is generated,
|
|
the operation is undefined.
|
|
.P
|
|
\%\f3glInterleavedArrays\fP is typically implemented on the client side.
|
|
.P
|
|
Vertex array parameters are client-side state and are therefore not
|
|
saved or restored by \%\f3glPushAttrib\fP and \%\f3glPopAttrib\fP.
|
|
Use \%\f3glPushClientAttrib\fP and \%\f3glPopClientAttrib\fP instead.
|
|
.P
|
|
When the \%\f3GL_ARB_multitexture\fP extension is supported, \%\f3glInterleavedArrays\fP
|
|
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.
|
|
.SH ERRORS
|
|
\%\f3GL_INVALID_ENUM\fP is generated if \f2format\fP is not an accepted value.
|
|
.P
|
|
\%\f3GL_INVALID_VALUE\fP is generated if \f2stride\fP is negative.
|
|
.SH SEE ALSO
|
|
\%\f3glArrayElement(3G)\fP,
|
|
\%\f3glClientActiveTextureARB(3G)\fP,
|
|
\%\f3glColorPointer(3G)\fP,
|
|
\%\f3glDrawArrays(3G)\fP,
|
|
\%\f3glDrawElements(3G)\fP,
|
|
\%\f3glEdgeFlagPointer(3G)\fP,
|
|
\%\f3glEnableClientState(3G)\fP,
|
|
\%\f3glGetPointer(3G)\fP,
|
|
\%\f3glIndexPointer(3G)\fP,
|
|
\%\f3glNormalPointer(3G)\fP,
|
|
\%\f3glTexCoordPointer(3G)\fP,
|
|
\%\f3glVertexPointer(3G)\fP
|