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/.