115 lines
3.7 KiB
Plaintext
115 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 indexpoin
|
|
.ds Xs 54341 6 indexpointer.gl
|
|
.TH GLINDEXPOINTER 3G
|
|
.SH NAME
|
|
.B "glIndexPointer
|
|
\- define an array of color indexes
|
|
|
|
.SH C SPECIFICATION
|
|
void \f3glIndexPointer\fP(
|
|
GLenum \fItype\fP,
|
|
.nf
|
|
.ta \w'\f3void \fPglIndexPointer( 'u
|
|
GLsizei \fIstride\fP,
|
|
const GLvoid \fI*ptr\fP )
|
|
.fi
|
|
|
|
.EQ
|
|
delim $$
|
|
.EN
|
|
.SH PARAMETERS
|
|
.TP \w'\fIstride\fP\ \ 'u
|
|
\f2type\fP
|
|
Specifies the data type of each color index in the array.
|
|
Symbolic constants
|
|
\%\f3GL_UNSIGNED_BYTE\fP,
|
|
\%\f3GL_SHORT\fP,
|
|
\%\f3GL_INT\fP,
|
|
\%\f3GL_FLOAT\fP,
|
|
and \%\f3GL_DOUBLE\fP
|
|
are accepted. The initial value is \%\f3GL_FLOAT\fP.
|
|
.TP
|
|
\f2stride\fP
|
|
Specifies the byte offset between consecutive color indexes.
|
|
If \f2stride\fP is 0 (the initial value), the color indexes are understood to
|
|
be tightly packed in the array.
|
|
The initial value is 0.
|
|
.TP
|
|
\f2ptr\fP
|
|
Specifies a pointer to the first index in the array.
|
|
The initial value is 0.
|
|
.SH DESCRIPTION
|
|
\%\f3glIndexPointer\fP specifies the location and data of an array of color indexes
|
|
to use when rendering.
|
|
\f2type\fP specifies the data type of
|
|
each color index and \f2stride\fP gives the byte stride from one
|
|
color index to the next allowing vertices and attributes
|
|
to be packed into a single array or stored in separate arrays.
|
|
(Single-array storage may be more efficient on some implementations;
|
|
see \%\f3glInterleavedArrays\fP.)
|
|
.P
|
|
\f2type\fP, \f2stride\fP, and \f2ptr\fP are saved as client-side
|
|
state.
|
|
.P
|
|
The color index array is initially disabled. To enable and disable
|
|
the array, call \%\f3glEnableClientState\fP and
|
|
\%\f3glDisableClientState\fP with the argument \%\f3GL_INDEX_ARRAY\fP. If
|
|
enabled, the color index array is used when \%\f3glDrawArrays\fP,
|
|
\%\f3glDrawElements\fP or \%\f3glArrayElement\fP is called.
|
|
.P
|
|
Use \%\f3glDrawArrays\fP to construct a sequence of primitives (all of
|
|
the same type) from prespecified vertex and vertex attribute arrays.
|
|
Use \%\f3glArrayElement\fP to specify primitives
|
|
by indexing vertices and vertex attributes and \%\f3glDrawElements\fP to
|
|
construct a sequence of primitives by indexing vertices and vertex attributes.
|
|
.SH NOTES
|
|
\%\f3glIndexPointer\fP is available only if the GL version is 1.1 or greater.
|
|
.P
|
|
The color index array is initially disabled, and it isn't accessed when
|
|
\%\f3glArrayElement\fP, \%\f3glDrawElements\fP, or \%\f3glDrawArrays\fP is called.
|
|
.P
|
|
Execution of \%\f3glIndexPointer\fP is not allowed between
|
|
\%\f3glBegin\fP and the corresponding \%\f3glEnd\fP,
|
|
but an error may or may not be generated. If an error is not generated,
|
|
the operation is undefined.
|
|
.P
|
|
\%\f3glIndexPointer\fP is typically implemented on the client side.
|
|
.P
|
|
Since the color index array parameters are client-side state, they are
|
|
not saved or restored by \%\f3glPushAttrib\fP and \%\f3glPopAttrib\fP.
|
|
Use \%\f3glPushClientAttrib\fP and
|
|
\%\f3glPopClientAttrib\fP instead.
|
|
.SH ERRORS
|
|
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is not an accepted value.
|
|
.P
|
|
\%\f3GL_INVALID_VALUE\fP is generated if \f2stride\fP is negative.
|
|
.SH ASSOCIATED GETS
|
|
\%\f3glIsEnabled\fP with argument \%\f3GL_INDEX_ARRAY\fP
|
|
.br
|
|
\%\f3glGet\fP with argument \%\f3GL_INDEX_ARRAY_TYPE\fP
|
|
.br
|
|
\%\f3glGet\fP with argument \%\f3GL_INDEX_ARRAY_STRIDE\fP
|
|
.br
|
|
\%\f3glGetPointerv\fP with argument \%\f3GL_INDEX_ARRAY_POINTER\fP
|
|
.SH SEE ALSO
|
|
\%\f3glArrayElement(3G)\fP,
|
|
\%\f3glColorPointer(3G)\fP,
|
|
\%\f3glDrawArrays(3G)\fP,
|
|
\%\f3glDrawElements(3G)\fP,
|
|
\%\f3glEdgeFlagPointer(3G)\fP,
|
|
\%\f3glEnable(3G)\fP,
|
|
\%\f3glGetPointerv(3G)\fP,
|
|
\%\f3glInterleavedArrays(3G)\fP,
|
|
\%\f3glNormalPointer(3G)\fP,
|
|
\%\f3glPopClientAttrib(3G)\fP,
|
|
\%\f3glPushClientAttrib(3G)\fP,
|
|
\%\f3glTexCoordPointer(3G)\fP,
|
|
\%\f3glVertexPointer(3G)\fP
|