'\" t .\" Title: glGetVertexAttrib .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 01/03/2018 .\" Manual: [FIXME: manual] .\" Source: [FIXME: source] .\" Language: English .\" .TH "GLGETVERTEXATTRIB" "3G" "01/03/2018" "[FIXME: source]" "[FIXME: manual]" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" glGetVertexAttribdv, glGetVertexAttribfv, glGetVertexAttribiv, glGetVertexAttribIiv, glGetVertexAttribIuiv, glGetVertexAttribLdv \- Return a generic vertex attribute parameter .SH "C SPECIFICATION" .HP \w'void\ glGetVertexAttribdv('u .BI "void glGetVertexAttribdv(GLuint\ " "index" ", GLenum\ " "pname" ", GLdouble\ *" "params" ");" .HP \w'void\ glGetVertexAttribfv('u .BI "void glGetVertexAttribfv(GLuint\ " "index" ", GLenum\ " "pname" ", GLfloat\ *" "params" ");" .HP \w'void\ glGetVertexAttribiv('u .BI "void glGetVertexAttribiv(GLuint\ " "index" ", GLenum\ " "pname" ", GLint\ *" "params" ");" .HP \w'void\ glGetVertexAttribIiv('u .BI "void glGetVertexAttribIiv(GLuint\ " "index" ", GLenum\ " "pname" ", GLint\ *" "params" ");" .HP \w'void\ glGetVertexAttribIuiv('u .BI "void glGetVertexAttribIuiv(GLuint\ " "index" ", GLenum\ " "pname" ", GLuint\ *" "params" ");" .HP \w'void\ glGetVertexAttribLdv('u .BI "void glGetVertexAttribLdv(GLuint\ " "index" ", GLenum\ " "pname" ", GLdouble\ *" "params" ");" .SH "PARAMETERS" .PP \fIindex\fR .RS 4 Specifies the generic vertex attribute parameter to be queried\&. .RE .PP \fIpname\fR .RS 4 Specifies the symbolic name of the vertex attribute parameter to be queried\&. Accepted values are \fBGL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\fR, \fBGL_VERTEX_ATTRIB_ARRAY_ENABLED\fR, \fBGL_VERTEX_ATTRIB_ARRAY_SIZE\fR, \fBGL_VERTEX_ATTRIB_ARRAY_STRIDE\fR, \fBGL_VERTEX_ATTRIB_ARRAY_TYPE\fR, \fBGL_VERTEX_ATTRIB_ARRAY_NORMALIZED\fR, \fBGL_VERTEX_ATTRIB_ARRAY_INTEGER\fR, \fBGL_VERTEX_ATTRIB_ARRAY_DIVISOR\fR, or \fBGL_CURRENT_VERTEX_ATTRIB\fR\&. .RE .PP \fIparams\fR .RS 4 Returns the requested data\&. .RE .SH "DESCRIPTION" .PP \fBglGetVertexAttrib\fR returns in \fIparams\fR the value of a generic vertex attribute parameter\&. The generic vertex attribute to be queried is specified by \fIindex\fR, and the parameter to be queried is specified by \fIpname\fR\&. .PP The accepted parameter names are as follows: .PP \fBGL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\fR .RS 4 .sp \fIparams\fR returns a single value, the name of the buffer object currently bound to the binding point corresponding to generic vertex attribute array \fIindex\fR\&. If no buffer object is bound, 0 is returned\&. The initial value is 0\&. .RE .PP \fBGL_VERTEX_ATTRIB_ARRAY_ENABLED\fR .RS 4 .sp \fIparams\fR returns a single value that is non\-zero (true) if the vertex attribute array for \fIindex\fR is enabled and 0 (false) if it is disabled\&. The initial value is \fBGL_FALSE\fR\&. .RE .PP \fBGL_VERTEX_ATTRIB_ARRAY_SIZE\fR .RS 4 .sp \fIparams\fR returns a single value, the size of the vertex attribute array for \fIindex\fR\&. 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\&. .RE .PP \fBGL_VERTEX_ATTRIB_ARRAY_STRIDE\fR .RS 4 .sp \fIparams\fR returns a single value, the array stride for (number of bytes between successive elements in) the vertex attribute array for \fIindex\fR\&. A value of 0 indicates that the array elements are stored sequentially in memory\&. The initial value is 0\&. .RE .PP \fBGL_VERTEX_ATTRIB_ARRAY_TYPE\fR .RS 4 .sp \fIparams\fR returns a single value, a symbolic constant indicating the array type for the vertex attribute array for \fIindex\fR\&. Possible values are \fBGL_BYTE\fR, \fBGL_UNSIGNED_BYTE\fR, \fBGL_SHORT\fR, \fBGL_UNSIGNED_SHORT\fR, \fBGL_INT\fR, \fBGL_UNSIGNED_INT\fR, \fBGL_FLOAT\fR, and \fBGL_DOUBLE\fR\&. The initial value is \fBGL_FLOAT\fR\&. .RE .PP \fBGL_VERTEX_ATTRIB_ARRAY_NORMALIZED\fR .RS 4 .sp \fIparams\fR returns a single value that is non\-zero (true) if fixed\-point data types for the vertex attribute array indicated by \fIindex\fR are normalized when they are converted to floating point, and 0 (false) otherwise\&. The initial value is \fBGL_FALSE\fR\&. .RE .PP \fBGL_VERTEX_ATTRIB_ARRAY_INTEGER\fR .RS 4 .sp \fIparams\fR returns a single value that is non\-zero (true) if fixed\-point data types for the vertex attribute array indicated by \fIindex\fR have integer data types, and 0 (false) otherwise\&. The initial value is 0 (\fBGL_FALSE\fR)\&. .RE .PP \fBGL_VERTEX_ATTRIB_ARRAY_DIVISOR\fR .RS 4 .sp \fIparams\fR returns a single value that is the frequency divisor used for instanced rendering\&. See \fBglVertexAttribDivisor\fR()\&. The initial value is 0\&. .RE .PP \fBGL_CURRENT_VERTEX_ATTRIB\fR .RS 4 .sp \fIparams\fR 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 \fIindex\fR is 0\&. The initial value for all other generic vertex attributes is (0,0,0,1)\&. .sp \fBglGetVertexAttribdv\fR and \fBglGetVertexAttribfv\fR return the current attribute values as four single\-precision floating\-point values; \fBglGetVertexAttribiv\fR reads them as floating\-point values and converts them to four integer values; \fBglGetVertexAttribIiv\fR and \fBglGetVertexAttribIuiv\fR read and return them as signed or unsigned integer values, respectively; \fBglGetVertexAttribLdv\fR reads and returns them as four double\-precision floating\-point values\&. .RE .PP All of the parameters except \fBGL_CURRENT_VERTEX_ATTRIB\fR represent state stored in the currently bound vertex array object\&. .SH "NOTES" .PP If an error is generated, no change is made to the contents of \fIparams\fR\&. .SH "ERRORS" .PP \fBGL_INVALID_OPERATION\fR is generated if \fIpname\fR is not \fBGL_CURRENT_VERTEX_ATTRIB\fR and there is no currently bound vertex array object\&. .PP \fBGL_INVALID_VALUE\fR is generated if \fIindex\fR is greater than or equal to \fBGL_MAX_VERTEX_ATTRIBS\fR\&. .PP \fBGL_INVALID_ENUM\fR is generated if \fIpname\fR is not an accepted value\&. .PP \fBGL_INVALID_OPERATION\fR is generated if \fIindex\fR is 0 and \fIpname\fR is \fBGL_CURRENT_VERTEX_ATTRIB\fR\&. .SH "ASSOCIATED GETS" .PP \fBglGet\fR() with argument \fBGL_MAX_VERTEX_ATTRIBS\fR .PP \fBglGetVertexAttribPointerv\fR() with arguments \fIindex\fR and \fBGL_VERTEX_ATTRIB_ARRAY_POINTER\fR .SH "VERSION SUPPORT" .TS allbox tab(:); lB cB s s s s s s s s s s s lB cB cB cB cB cB cB cB cB cB cB cB cB. T{ T}:T{ \fBOpenGL Version\fR T} T{ \fBFunction / Feature Name\fR T}:T{ \fB2\&.0\fR T}:T{ \fB2\&.1\fR T}:T{ \fB3\&.0\fR T}:T{ \fB3\&.1\fR T}:T{ \fB3\&.2\fR T}:T{ \fB3\&.3\fR T}:T{ \fB4\&.0\fR T}:T{ \fB4\&.1\fR T}:T{ \fB4\&.2\fR T}:T{ \fB4\&.3\fR T}:T{ \fB4\&.4\fR T}:T{ \fB4\&.5\fR T} .T& l c c c c c c c c c c c c l c c c c c c c c c c c c l c c c c c c c c c c c c l c c c c c c c c c c c c l c c c c c c c c c c c c l c c c c c c c c c c c c. T{ \fBglGetVertexAttribIiv\fR T}:T{ \- T}:T{ \- T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T} T{ \fBglGetVertexAttribIuiv\fR T}:T{ \- T}:T{ \- T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T} T{ \fBglGetVertexAttribLdv\fR T}:T{ \- T}:T{ \- T}:T{ \- T}:T{ \- T}:T{ \- T}:T{ \- T}:T{ \- T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T} T{ \fBglGetVertexAttribdv\fR T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T} T{ \fBglGetVertexAttribfv\fR T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T} T{ \fBglGetVertexAttribiv\fR T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T} .TE .sp 1 .SH "SEE ALSO" .PP \fBglBindAttribLocation\fR(), \fBglBindBuffer\fR(), \fBglDisableVertexAttribArray\fR, \fBglEnableVertexAttribArray\fR(), \fBglVertexAttrib\fR(), \fBglVertexAttribDivisor\fR(), \fBglVertexAttribPointer\fR() .SH "COPYRIGHT" .PP Copyright \(co 2003\-2005 3Dlabs Inc\&. Ltd\&. Copyright \(co 2010\-2014 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\&. \m[blue]\fBhttp://opencontent\&.org/openpub/\fR\m[]\&. .SH "COPYRIGHT" .br Copyright \(co 2003-2005 3Dlabs Inc. Ltd. .br Copyright \(co 2010-2014 Khronos Group .br