GLVERTEXATTRIBPOINTER(3gl)GLVERTEXATTRIBPOINTER(3gl)NAME
glVertexAttribPointerARB - Defines array of vertex attribute data.
C SPECIFICATION
void glVertexAttribPointerARB( GLint index,
GLint size,
GLenum type,
GLboolean normalized,
GLsizei stride,
const GLvoid *pointer)
PARAMETERS
shader Specifies index to vertex attribute to be modified.
size Specifies the number of values in each element of vertex attribute
array.
Must
be
1,2,3,
or
4.
type Specifies the data type for each component in the array.
normalized Specifies if fixed point data is normalized (GL_TRUE) when
they
are
accessed
oth‐
er‐
wise
(GL_FALSE)
stride
Spec‐
i‐
fies
the
byte
off‐
set
between
con‐
sec‐
u‐
tive
attributes.
If
stride
is
0,
the
attributes
are
under‐
stood
to
be
tightly
packed
in
the
array.
The
ini‐
tial
value
is
0.
pointer Spec‐
i‐
fies
a
pointer
to
the
first
ele‐
ment
of
the
first
attribute
in
the
array.
DESCRIPTION
glVertexAttribPointerARB specifies the location and data format of an
array of vertex attributes size specifies the number of values per
attribute and type the data type of the attributes. stride specifies
the byte stride from one attributes to the next allowing attributes to
be packed into a single array or stored in separate arrays. When a
vertex attribute array is specified, size, type, stride, and pointer
are saved as client-side state.
To enable and disable the vertex array, call glEnableVertexAttribArra‐
yARB and
glDisableVertexAttribArrayARB with the argument index. If enabled, the
vertex attribute array is used when glDrawArrays, glDrawElements, or
glArrayElement is called.
NOTES
The vertex attritute array is initially disabled and isn't accessed
when glArrayElement, glDrawElements, glDrawArrays, glDrawRangeElements,
glMultiDrawElements, or glMultiDrawArrays is called.
Execution of glVertexAttribPointer 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.
glVertexAttribPointer is typically implemented on the client side.
Vertex attribute array parameters are client-side state and are there‐
fore not saved or restored by glPushAttrib and glPopAttrib. Use
glPushClientAttrib and glPopClientAttrib instead.
ERRORS
GL_INVALID_VALUE is generated if index is greater than or equal to
GL_MAX_VERTEX_ATTRIBS_ARB.
GL_INVALID_VALUE is generated if size is not 1,2,3, or 4.
GL_INVALID_ENUM is generated if type is not an accepted value.
GL_INVALID_VALUE is generated if stride is negative.
ASSOCIATED GETS
glGetVertexAttribARB with argument index
glGetVertexAttribPointerARB with argument index
glGet with argument GL_MAX_VERTEX_ATTRIBS_ARB
SEE ALSO
glArrayElement, glBindAttribLocationARB, glDisableVertexAttribArrayARB,
glDrawArrays, glDrawElements, glDrawRangeElements, glDrawElements,
glMultiDrawArrays, glMultiDrawElements,
glEnableVertexAttribArrayARB,
glPopClientAttrib, glPushClientAttrib, glVertexAttribARB
11 Mar 04 GLVERTEXATTRIBPOINTER(3gl)