glGetVertexAttrib — return a generic vertex attribute parameter
void glGetVertexAttribfv( | GLuint index, |
GLenum pname, | |
GLfloat *params) ; |
void glGetVertexAttribiv( | GLuint index, |
GLenum pname, | |
GLint *params) ; |
index
Specifies the generic vertex attribute parameter to be queried.
pname
Specifies the symbolic name of the vertex
attribute parameter to be queried. Accepted values are
GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
,
GL_VERTEX_ATTRIB_ARRAY_ENABLED
,
GL_VERTEX_ATTRIB_ARRAY_SIZE
,
GL_VERTEX_ATTRIB_ARRAY_STRIDE
,
GL_VERTEX_ATTRIB_ARRAY_TYPE
,
GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
, or
GL_CURRENT_VERTEX_ATTRIB
.
params
Returns the requested data.
glGetVertexAttrib
returns in
params
the value of a generic vertex
attribute parameter. The generic vertex attribute to be queried
is specified by index
, and the parameter
to be queried is specified by pname
.
The accepted parameter names are as follows:
GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
params
returns a
single value, the name of the buffer object currently bound to
the binding point corresponding to generic vertex attribute array
index
. If no buffer object is bound,
0 is returned. The initial value is 0.
GL_VERTEX_ATTRIB_ARRAY_ENABLED
params
returns a
single value that is non-zero (true) if the vertex
attribute array for index
is
enabled and 0 (false) if it is disabled. The initial
value is GL_FALSE
.
GL_VERTEX_ATTRIB_ARRAY_SIZE
params
returns a
single value, the size of the vertex attribute array
for index
. The size is the
number of values for each element of the vertex
attribute array, and it will be 1, 2, 3, or 4. The
initial value is 4.
GL_VERTEX_ATTRIB_ARRAY_STRIDE
params
returns a
single value, the array stride for (number of bytes
between successive elements in) the vertex attribute
array for index
. A value of 0
indicates that the array elements are stored
sequentially in memory. The initial value is 0.
GL_VERTEX_ATTRIB_ARRAY_TYPE
params
returns a
single value, a symbolic constant indicating the
array type for the vertex attribute array for
index
. Possible values are
GL_BYTE
,
GL_UNSIGNED_BYTE
,
GL_SHORT
,
GL_UNSIGNED_SHORT
,
GL_FIXED
, and
GL_FLOAT
. The initial value is
GL_FLOAT
.
GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
params
returns a
single value that is non-zero (true) if fixed-point
data types for the vertex attribute array indicated
by index
are normalized when
they are converted to floating point, and 0 (false)
otherwise. The initial value is
GL_FALSE
.
GL_CURRENT_VERTEX_ATTRIB
params
returns four
values that represent the current value for the
generic vertex attribute specified by index.
The initial value is (0,0,0,1).
All of the parameters except GL_CURRENT_VERTEX_ATTRIB
represent client-side state.
GL_INVALID_ENUM
is generated if
pname
is not an accepted value.
GL_INVALID_VALUE
is generated if
index
is greater than or equal to
GL_MAX_VERTEX_ATTRIBS
.
glGet
with argument GL_MAX_VERTEX_ATTRIBS
glGetVertexAttribPointerv
with arguments index
and
GL_VERTEX_ATTRIB_ARRAY_POINTER
glBindAttribLocation, glBindBuffer, glDisableVertexAttribArray, glEnableVertexAttribArray, glVertexAttrib, glVertexAttribPointer
Copyright © 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. https://opencontent.org/openpub/.