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