125 lines
4.0 KiB
Plaintext
125 lines
4.0 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 vertexpoi
|
|
.ds Xs 51670 6 vertexpointer.gl
|
|
.TH GLVERTEXPOINTER 3G
|
|
.SH NAME
|
|
.B "glVertexPointer
|
|
\- define an array of vertex data
|
|
|
|
.SH C SPECIFICATION
|
|
void \f3glVertexPointer\fP(
|
|
GLint \fIsize\fP,
|
|
.nf
|
|
.ta \w'\f3void \fPglVertexPointer( 'u
|
|
GLenum \fItype\fP,
|
|
GLsizei \fIstride\fP,
|
|
const GLvoid \fI*ptr\fP )
|
|
.fi
|
|
|
|
.EQ
|
|
delim $$
|
|
.EN
|
|
.SH PARAMETERS
|
|
.TP \w'\fIstride\fP\ \ 'u
|
|
\f2size\fP
|
|
Specifies the number of coordinates per vertex; must be 2, 3, or
|
|
4. The initial value is 4.
|
|
.TP
|
|
\f2type\fP
|
|
Specifies the data type of each coordinate in the array.
|
|
Symbolic constants
|
|
\%\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
|
|
vertices. If \f2stride\fP is 0, the vertices are understood to be tightly packed in
|
|
the array. The initial value
|
|
is 0.
|
|
.TP
|
|
\f2ptr\fP
|
|
Specifies a pointer to the first coordinate of the first vertex in the
|
|
array. The initial value is 0.
|
|
.SH DESCRIPTION
|
|
\%\f3glVertexPointer\fP specifies the location and data of an array of vertex coordinates
|
|
to use when rendering.
|
|
\f2size\fP specifies the number of coordinates per vertex and
|
|
\f2type\fP the data type of
|
|
the coordinates. \f2stride\fP specifies the byte stride from one
|
|
vertex 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.)
|
|
When a vertex array is
|
|
specified, \f2size\fP, \f2type\fP, \f2stride\fP, and \f2ptr\fP are saved as client-side
|
|
state.
|
|
.P
|
|
To enable and disable the vertex array, call \%\f3glEnableClientState\fP and
|
|
.br
|
|
\%\f3glDisableClientState\fP with the argument \%\f3GL_VERTEX_ARRAY\fP. If
|
|
enabled, the vertex 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
|
|
\%\f3glVertexPointer\fP is available only if the GL version is 1.1 or greater.
|
|
.P
|
|
The vertex array is initially disabled and isn't accessed when
|
|
\%\f3glArrayElement\fP, \%\f3glDrawElements\fP or \%\f3glDrawArrays\fP is called.
|
|
.P
|
|
Execution of \%\f3glVertexPointer\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
|
|
\%\f3glVertexPointer\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.
|
|
.SH ERRORS
|
|
\%\f3GL_INVALID_VALUE\fP is generated if \f2size\fP is not 2, 3, or 4.
|
|
.P
|
|
\%\f3GL_INVALID_ENUM\fP is generated if \f2type\fP is 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_VERTEX_ARRAY\fP
|
|
.br
|
|
\%\f3glGet\fP with argument \%\f3GL_VERTEX_ARRAY_SIZE\fP
|
|
.br
|
|
\%\f3glGet\fP with argument \%\f3GL_VERTEX_ARRAY_TYPE\fP
|
|
.br
|
|
\%\f3glGet\fP with argument \%\f3GL_VERTEX_ARRAY_STRIDE\fP
|
|
.br
|
|
\%\f3glGetPointerv\fP with argument \%\f3GL_VERTEX_ARRAY_POINTER\fP
|
|
.SH SEE ALSO
|
|
\%\f3glArrayElement(3G)\fP,
|
|
\%\f3glColorPointer(3G)\fP,
|
|
\%\f3glDrawArrays(3G)\fP,
|
|
\%\f3glDrawElements(3G)\fP,
|
|
\%\f3glDrawRangeElements(3G)\fP,
|
|
\%\f3glEdgeFlagPointer(3G)\fP,
|
|
\%\f3glEnable(3G)\fP,
|
|
\%\f3glGetPointerv(3G)\fP,
|
|
\%\f3glIndexPointer(3G)\fP,
|
|
\%\f3glInterleavedArrays(3G)\fP,
|
|
\%\f3glNormalPointer(3G)\fP,
|
|
\%\f3glPopClientAttrib(3G)\fP,
|
|
\%\f3glPushClientAttrib(3G)\fP,
|
|
\%\f3glTexCoordPointer(3G)\fP
|