Name
glGetVertexAttrib — Return a generic vertex attribute parameter
C Specification
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void glGetVertexAttribdv( GLuint index,
GLenum pname,
GLdouble *params);
void glGetVertexAttribfv( GLuint index,
GLenum pname,
GLfloat *params);
void glGetVertexAttribiv( GLuint index,
GLenum pname,
GLint *params);
void glGetVertexAttribIiv( GLuint index,
GLenum pname,
GLint *params);
void glGetVertexAttribIuiv( GLuint index,
GLenum pname,
GLuint *params);
void glGetVertexAttribLdv( GLuint index,
GLenum pname,
GLdouble *params);
Parameters
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
, GL_VERTEX_ATTRIB_ARRAY_INTEGER
, GL_VERTEX_ATTRIB_ARRAY_LONG
, GL_VERTEX_ATTRIB_ARRAY_DIVISOR
, GL_VERTEX_ATTRIB_BINDING
, GL_VERTEX_ATTRIB_RELATIVE_OFFSET
or GL_CURRENT_VERTEX_ATTRIB
.
params
Returns the requested data.
Description
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_INT
, GL_UNSIGNED_INT
, GL_FLOAT
, and GL_DOUBLE
. 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_VERTEX_ATTRIB_ARRAY_INTEGER
params
returns a single value that is non-zero (true) if fixed-point data types for the vertex attribute array indicated by index
have integer data types, and 0 (false) otherwise. The initial value is 0 (GL_FALSE
).
GL_VERTEX_ATTRIB_ARRAY_LONG
param
returns a single value that is non-zero (true) if a vertex attribute is stored as an unconverted double, and 0 (false) otherwise. The initial value is 0 (GL_FALSE
).
GL_VERTEX_ATTRIB_ARRAY_DIVISOR
params
returns a single value that is the frequency divisor used for instanced rendering. See glVertexAttribDivisor. The initial value is 0.
GL_VERTEX_ATTRIB_BINDING
params
returns a single value, the vertex buffer binding of the vertex attribute array index
.
GL_VERTEX_ATTRIB_RELATIVE_OFFSET
params
returns a single value that is the byte offset of the first element relative to the start of the vertex buffer binding specified attribute fetches from. The initial value is 0.
GL_CURRENT_VERTEX_ATTRIB
params
returns four values that represent the current value for the generic vertex attribute specified by index. Generic vertex attribute 0 is unique in that it has no current state, so an error will be generated if index
is 0. The initial value for all other generic vertex attributes is (0,0,0,1).
glGetVertexAttribdv
and glGetVertexAttribfv
return the current attribute values as four single-precision floating-point values; glGetVertexAttribiv
reads them as floating-point values and converts them to four integer values; glGetVertexAttribIiv
and glGetVertexAttribIuiv
read and return them as signed or unsigned integer values, respectively; glGetVertexAttribLdv
reads and returns them as four double-precision floating-point values.