include more low-level bindings
[clinton/guile-figl.git] / upstream-man-pages / man4 / xhtml / glGetVertexAttrib.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
3 <!-- saved from url=(0013)about:internet -->
4 <?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" pref:renderer="mathplayer-dl"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="opengl-man.css" /><title>glGetVertexAttrib - OpenGL 4 Reference Pages</title><meta name="generator" content="DocBook XSL Stylesheets V1.69.1" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="glGetVertexAttrib"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glGetVertexAttrib — Return a generic vertex attribute parameter</p></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em"><tr><td><code class="funcdef">void <b class="fsfunc">glGetVertexAttribdv</b>(</code></td><td>GLuint  </td><td><var class="pdparam">index</var>, </td></tr><tr><td> </td><td>GLenum  </td><td><var class="pdparam">pname</var>, </td></tr><tr><td> </td><td>GLdouble * </td><td><var class="pdparam">params</var><code>)</code>;</td></tr></table><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em"><tr><td><code class="funcdef">void <b class="fsfunc">glGetVertexAttribfv</b>(</code></td><td>GLuint  </td><td><var class="pdparam">index</var>, </td></tr><tr><td> </td><td>GLenum  </td><td><var class="pdparam">pname</var>, </td></tr><tr><td> </td><td>GLfloat * </td><td><var class="pdparam">params</var><code>)</code>;</td></tr></table><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em"><tr><td><code class="funcdef">void <b class="fsfunc">glGetVertexAttribiv</b>(</code></td><td>GLuint  </td><td><var class="pdparam">index</var>, </td></tr><tr><td> </td><td>GLenum  </td><td><var class="pdparam">pname</var>, </td></tr><tr><td> </td><td>GLint * </td><td><var class="pdparam">params</var><code>)</code>;</td></tr></table><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em"><tr><td><code class="funcdef">void <b class="fsfunc">glGetVertexAttribIiv</b>(</code></td><td>GLuint  </td><td><var class="pdparam">index</var>, </td></tr><tr><td> </td><td>GLenum  </td><td><var class="pdparam">pname</var>, </td></tr><tr><td> </td><td>GLint * </td><td><var class="pdparam">params</var><code>)</code>;</td></tr></table><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em"><tr><td><code class="funcdef">void <b class="fsfunc">glGetVertexAttribIuiv</b>(</code></td><td>GLuint  </td><td><var class="pdparam">index</var>, </td></tr><tr><td> </td><td>GLenum  </td><td><var class="pdparam">pname</var>, </td></tr><tr><td> </td><td>GLuint * </td><td><var class="pdparam">params</var><code>)</code>;</td></tr></table><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0"><tr><td><code class="funcdef">void <b class="fsfunc">glGetVertexAttribLdv</b>(</code></td><td>GLuint  </td><td><var class="pdparam">index</var>, </td></tr><tr><td> </td><td>GLenum  </td><td><var class="pdparam">pname</var>, </td></tr><tr><td> </td><td>GLdouble * </td><td><var class="pdparam">params</var><code>)</code>;</td></tr></table></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="parameters"></a><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>index</code></em></span></dt><dd><p>Specifies the generic vertex attribute
5 parameter to be queried.</p></dd><dt><span class="term"><em class="parameter"><code>pname</code></em></span></dt><dd><p>Specifies the symbolic name of the vertex
6 attribute parameter to be queried. Accepted values are
7 <code class="constant">GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING</code>,
8 <code class="constant">GL_VERTEX_ATTRIB_ARRAY_ENABLED</code>,
9 <code class="constant">GL_VERTEX_ATTRIB_ARRAY_SIZE</code>,
10 <code class="constant">GL_VERTEX_ATTRIB_ARRAY_STRIDE</code>,
11 <code class="constant">GL_VERTEX_ATTRIB_ARRAY_TYPE</code>,
12 <code class="constant">GL_VERTEX_ATTRIB_ARRAY_NORMALIZED</code>,
13 <code class="constant">GL_VERTEX_ATTRIB_ARRAY_INTEGER</code>,
14 <code class="constant">GL_VERTEX_ATTRIB_ARRAY_DIVISOR</code>, or
15 <code class="constant">GL_CURRENT_VERTEX_ATTRIB</code>.</p></dd><dt><span class="term"><em class="parameter"><code>params</code></em></span></dt><dd><p>Returns the requested data.</p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p><code class="function">glGetVertexAttrib</code> returns in
16 <em class="parameter"><code>params</code></em> the value of a generic vertex
17 attribute parameter. The generic vertex attribute to be queried
18 is specified by <em class="parameter"><code>index</code></em>, and the parameter
19 to be queried is specified by <em class="parameter"><code>pname</code></em>.</p><p>The accepted parameter names are as follows:</p><div class="variablelist"><dl><dt><span class="term"><code class="constant">GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING</code></span></dt><dd><p>
20 </p><p> <em class="parameter"><code>params</code></em> returns a
21 single value, the name of the buffer object currently bound to
22 the binding point corresponding to generic vertex attribute array
23 <em class="parameter"><code>index</code></em>. If no buffer object is bound,
24 0 is returned. The initial value is 0.</p></dd><dt><span class="term"><code class="constant">GL_VERTEX_ATTRIB_ARRAY_ENABLED</code></span></dt><dd><p>
25 </p><p> <em class="parameter"><code>params</code></em> returns a
26 single value that is non-zero (true) if the vertex
27 attribute array for <em class="parameter"><code>index</code></em> is
28 enabled and 0 (false) if it is disabled. The initial
29 value is <code class="constant">GL_FALSE</code>.</p></dd><dt><span class="term"><code class="constant">GL_VERTEX_ATTRIB_ARRAY_SIZE</code></span></dt><dd><p>
30 </p><p> <em class="parameter"><code>params</code></em> returns a
31 single value, the size of the vertex attribute array
32 for <em class="parameter"><code>index</code></em>. The size is the
33 number of values for each element of the vertex
34 attribute array, and it will be 1, 2, 3, or 4. The
35 initial value is 4.</p></dd><dt><span class="term"><code class="constant">GL_VERTEX_ATTRIB_ARRAY_STRIDE</code></span></dt><dd><p>
36 </p><p> <em class="parameter"><code>params</code></em> returns a
37 single value, the array stride for (number of bytes
38 between successive elements in) the vertex attribute
39 array for <em class="parameter"><code>index</code></em>. A value of 0
40 indicates that the array elements are stored
41 sequentially in memory. The initial value is 0.</p></dd><dt><span class="term"><code class="constant">GL_VERTEX_ATTRIB_ARRAY_TYPE</code></span></dt><dd><p>
42 </p><p> <em class="parameter"><code>params</code></em> returns a
43 single value, a symbolic constant indicating the
44 array type for the vertex attribute array for
45 <em class="parameter"><code>index</code></em>. Possible values are
46 <code class="constant">GL_BYTE</code>,
47 <code class="constant">GL_UNSIGNED_BYTE</code>,
48 <code class="constant">GL_SHORT</code>,
49 <code class="constant">GL_UNSIGNED_SHORT</code>,
50 <code class="constant">GL_INT</code>,
51 <code class="constant">GL_UNSIGNED_INT</code>,
52 <code class="constant">GL_FLOAT</code>, and
53 <code class="constant">GL_DOUBLE</code>. The initial value is
54 <code class="constant">GL_FLOAT</code>.</p></dd><dt><span class="term"><code class="constant">GL_VERTEX_ATTRIB_ARRAY_NORMALIZED</code></span></dt><dd><p>
55 </p><p> <em class="parameter"><code>params</code></em> returns a
56 single value that is non-zero (true) if fixed-point
57 data types for the vertex attribute array indicated
58 by <em class="parameter"><code>index</code></em> are normalized when
59 they are converted to floating point, and 0 (false)
60 otherwise. The initial value is
61 <code class="constant">GL_FALSE</code>.</p></dd><dt><span class="term"><code class="constant">GL_VERTEX_ATTRIB_ARRAY_INTEGER</code></span></dt><dd><p>
62 </p><p> <em class="parameter"><code>params</code></em> returns a
63 single value that is non-zero (true) if fixed-point
64 data types for the vertex attribute array indicated
65 by <em class="parameter"><code>index</code></em> have integer data types, and 0 (false)
66 otherwise. The initial value is
67 0 (<code class="constant">GL_FALSE</code>).</p></dd><dt><span class="term"><code class="constant">GL_VERTEX_ATTRIB_ARRAY_DIVISOR</code></span></dt><dd><p>
68 </p><p> <em class="parameter"><code>params</code></em> returns a
69 single value that is the frequency divisor used for instanced
70 rendering. See <a href="glVertexAttribDivisor.xml"><span class="citerefentry"><span class="refentrytitle">glVertexAttribDivisor</span></span></a>.
71 The initial value is 0.</p></dd><dt><span class="term"><code class="constant">GL_CURRENT_VERTEX_ATTRIB</code></span></dt><dd><p>
72 </p><p> <em class="parameter"><code>params</code></em> returns four
73 values that represent the current value for the
74 generic vertex attribute specified by index. Generic
75 vertex attribute 0 is unique in that it has no
76 current state, so an error will be generated if
77 <em class="parameter"><code>index</code></em> is 0. The initial value
78 for all other generic vertex attributes is
79 (0,0,0,1).</p><p>
80 <code class="function">glGetVertexAttribdv</code> and <code class="function">glGetVertexAttribfv</code>
81 return the current attribute values as four single-precision floating-point values;
82 <code class="function">glGetVertexAttribiv</code> reads them as floating-point values and
83 converts them to four integer values; <code class="function">glGetVertexAttribIiv</code> and
84 <code class="function">glGetVertexAttribIuiv</code> read and return them as signed or unsigned
85 integer values, respectively; <code class="function">glGetVertexAttribLdv</code> reads and returns
86 them as four double-precision floating-point values.
87 </p></dd></dl></div><p>All of the parameters except <code class="constant">GL_CURRENT_VERTEX_ATTRIB</code>
88 represent state stored in the currently bound vertex array object.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="notes"></a><h2>Notes</h2><p>If an error is generated, no change is made to the
89 contents of <em class="parameter"><code>params</code></em>.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="errors"></a><h2>Errors</h2><p><code class="constant">GL_INVALID_OPERATION</code> is generated if <em class="parameter"><code>pname</code></em>
90 is not <code class="constant">GL_CURRENT_VERTEX_ATTRIB</code> and there is no
91 currently bound vertex array object.</p><p><code class="constant">GL_INVALID_VALUE</code> is generated if
92 <em class="parameter"><code>index</code></em> is greater than or equal to
93 <code class="constant">GL_MAX_VERTEX_ATTRIBS</code>.</p><p><code class="constant">GL_INVALID_ENUM</code> is generated if
94 <em class="parameter"><code>pname</code></em> is not an accepted value.</p><p><code class="constant">GL_INVALID_OPERATION</code> is generated if
95 <em class="parameter"><code>index</code></em> is 0 and
96 <em class="parameter"><code>pname</code></em> is
97 <code class="constant">GL_CURRENT_VERTEX_ATTRIB</code>.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="associatedgets"></a><h2>Associated Gets</h2><p><a href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a>
98 with argument <code class="constant">GL_MAX_VERTEX_ATTRIBS</code></p><p><a href="glGetVertexAttribPointerv.xml"><span class="citerefentry"><span class="refentrytitle">glGetVertexAttribPointerv</span></span></a>
99 with arguments <em class="parameter"><code>index</code></em> and
100 <code class="constant">GL_VERTEX_ATTRIB_ARRAY_POINTER</code></p></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p><a href="glBindAttribLocation.xml"><span class="citerefentry"><span class="refentrytitle">glBindAttribLocation</span></span></a>,
101 <a href="glBindBuffer.xml"><span class="citerefentry"><span class="refentrytitle">glBindBuffer</span></span></a>,
102 <a href="glDisableVertexAttribArray.xml"><span class="citerefentry"><span class="refentrytitle">glDisableVertexAttribArray</span></span></a>,
103 <a href="glEnableVertexAttribArray.xml"><span class="citerefentry"><span class="refentrytitle">glEnableVertexAttribArray</span></span></a>,
104 <a href="glVertexAttrib.xml"><span class="citerefentry"><span class="refentrytitle">glVertexAttrib</span></span></a>,
105 <a href="glVertexAttribDivisor.xml"><span class="citerefentry"><span class="refentrytitle">glVertexAttribDivisor</span></span></a>,
106 <a href="glVertexAttribPointer.xml"><span class="citerefentry"><span class="refentrytitle">glVertexAttribPointer</span></span></a></p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p>
107 Copyright <span class="trademark"></span>© 2003-2005 3Dlabs Inc. Ltd.
108 Copyright <span class="trademark"></span>© 2010 Khronos Group.
109 This material may be distributed subject to the terms and conditions set forth in
110 the Open Publication License, v 1.0, 8 June 1999.
111 <a href="http://opencontent.org/openpub/" target="_top">http://opencontent.org/openpub/</a>.
112 </p></div></div></body></html>