NAME¶
glGetVertexAttribdv, glGetVertexAttribfv, glGetVertexAttribiv,
glGetVertexAttribIiv, glGetVertexAttribIuiv, glGetVertexAttribLdv - Return a
generic vertex attribute parameter
C SPECIFICATION¶
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_DIVISOR,
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_DIVISOR
params returns a single value that is the frequency divisor used for
instanced rendering. See
glVertexAttribDivisor(). 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.
All of the parameters except
GL_CURRENT_VERTEX_ATTRIB represent state
stored in the currently bound vertex array object.
NOTES¶
If an error is generated, no change is made to the contents of
params.
ERRORS¶
GL_INVALID_OPERATION is generated if
pname is not
GL_CURRENT_VERTEX_ATTRIB and there is no currently bound vertex array
object.
GL_INVALID_VALUE is generated if
index is greater than or equal to
GL_MAX_VERTEX_ATTRIBS.
GL_INVALID_ENUM is generated if
pname is not an accepted value.
GL_INVALID_OPERATION is generated if
index is 0 and
pname
is
GL_CURRENT_VERTEX_ATTRIB.
ASSOCIATED GETS¶
glGet() with argument
GL_MAX_VERTEX_ATTRIBS
glGetVertexAttribPointerv() with arguments
index and
GL_VERTEX_ATTRIB_ARRAY_POINTER
SEE ALSO¶
glBindAttribLocation(),
glBindBuffer(),
glDisableVertexAttribArray(),
glEnableVertexAttribArray(),
glVertexAttrib(),
glVertexAttribDivisor(),
glVertexAttribPointer()
COPYRIGHT¶
Copyright © 2003-2005 3Dlabs Inc. Ltd. Copyright © 2010 Khronos Group.
This material may be distributed subject to the terms and conditions set forth
in the Open Publication License, v 1.0, 8 June 1999.
http://opencontent.org/openpub/.