rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man2 / xhtml / glGetUniform.xml
CommitLineData
7faf1d71
AW
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
2<!-- saved from url=(0013)about:internet -->
3<?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" /><title>glGetUniform</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="glGetUniform"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glGetUniform — Returns the value of a uniform variable</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">glGetUniformfv</b>(</code></td><td>GLuint  </td><td><var class="pdparam">program</var>, </td></tr><tr><td> </td><td>GLint  </td><td><var class="pdparam">location</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"><tr><td><code class="funcdef">void <b class="fsfunc">glGetUniformiv</b>(</code></td><td>GLuint  </td><td><var class="pdparam">program</var>, </td></tr><tr><td> </td><td>GLint  </td><td><var class="pdparam">location</var>, </td></tr><tr><td> </td><td>GLint * </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>program</code></em></span></dt><dd><p>Specifies the program object to be
4 queried.</p></dd><dt><span class="term"><em class="parameter"><code>location</code></em></span></dt><dd><p>Specifies the location of the uniform variable
5 to be queried.</p></dd><dt><span class="term"><em class="parameter"><code>params</code></em></span></dt><dd><p>Returns the value of the specified uniform
6 variable.</p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p><code class="function">glGetUniform</code> returns in
7 <em class="parameter"><code>params</code></em> the value(s) of the specified
8 uniform variable. The type of the uniform variable specified by
9 <em class="parameter"><code>location</code></em> determines the number of values
10 returned. If the uniform variable is defined in the shader as a
11 boolean, int, or float, a single value will be returned. If it
12 is defined as a vec2, ivec2, or bvec2, two values will be
13 returned. If it is defined as a vec3, ivec3, or bvec3, three
14 values will be returned, and so on. To query values stored in
15 uniform variables declared as arrays, call
16 <code class="function">glGetUniform</code> for each element of the array.
17 To query values stored in uniform variables declared as
18 structures, call <code class="function">glGetUniform</code> for each
19 field in the structure. The values for uniform variables
20 declared as a matrix will be returned in column major
21 order.</p><p>The locations assigned to uniform variables are not known
22 until the program object is linked. After linking has occurred,
23 the command
24 <a class="citerefentry" href="glGetUniformLocation.xml"><span class="citerefentry"><span class="refentrytitle">glGetUniformLocation</span></span></a>
25 can be used to obtain the location of a uniform variable. This
26 location value can then be passed to
27 <code class="function">glGetUniform</code> in order to query the current
28 value of the uniform variable. After a program object has been
29 linked successfully, the index values for uniform variables
30 remain fixed until the next link command occurs. The uniform
31 variable values can only be queried after a link if the link was
32 successful.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="notes"></a><h2>Notes</h2><p><code class="function">glGetUniform</code> is available only if the
33 GL version is 2.0 or greater.</p><p>If an error is generated, no change is made to the
34 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_VALUE</code> is generated if
35 <em class="parameter"><code>program</code></em> is not a value generated by
36 OpenGL.</p><p><code class="constant">GL_INVALID_OPERATION</code> is generated if
37 <em class="parameter"><code>program</code></em> is not a program object.</p><p><code class="constant">GL_INVALID_OPERATION</code> is generated if
38 <em class="parameter"><code>program</code></em> has not been successfully
39 linked.</p><p><code class="constant">GL_INVALID_OPERATION</code> is generated if
40 <em class="parameter"><code>location</code></em> does not correspond to a valid
41 uniform variable location for the specified program object.</p><p><code class="constant">GL_INVALID_OPERATION</code> is generated if
42 <code class="function">glGetUniform</code> is executed between the
43 execution of
44 <a class="citerefentry" href="glBegin.xml"><span class="citerefentry"><span class="refentrytitle">glBegin</span></span></a>
45 and the corresponding execution of
46 <a class="citerefentry" href="glEnd.xml"><span class="citerefentry"><span class="refentrytitle">glEnd</span></span></a>.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="associatedgets"></a><h2>Associated Gets</h2><p><a class="citerefentry" href="glGetActiveUniform.xml"><span class="citerefentry"><span class="refentrytitle">glGetActiveUniform</span></span></a>
47 with arguments <em class="parameter"><code>program</code></em> and the index of an active
48 uniform variable</p><p><a class="citerefentry" href="glGetProgram.xml"><span class="citerefentry"><span class="refentrytitle">glGetProgram</span></span></a>
49 with arguments <em class="parameter"><code>program</code></em> and
50 <code class="constant">GL_ACTIVE_UNIFORMS</code> or
51 <code class="constant">GL_ACTIVE_UNIFORM_MAX_LENGTH</code></p><p><a class="citerefentry" href="glGetUniformLocation.xml"><span class="citerefentry"><span class="refentrytitle">glGetUniformLocation</span></span></a>
52 with arguments <em class="parameter"><code>program</code></em> and the name of a
53 uniform variable</p><p><a class="citerefentry" href="glIsProgram.xml"><span class="citerefentry"><span class="refentrytitle">glIsProgram</span></span></a></p></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p><a class="citerefentry" href="glCreateProgram.xml"><span class="citerefentry"><span class="refentrytitle">glCreateProgram</span></span></a>,
54 <a class="citerefentry" href="glLinkProgram.xml"><span class="citerefentry"><span class="refentrytitle">glLinkProgram</span></span></a>,
55 <a class="citerefentry" href="glUniform.xml"><span class="citerefentry"><span class="refentrytitle">glUniform</span></span></a></p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p>
56 Copyright <span class="trademark"></span>© 2003-2005 3Dlabs Inc. Ltd.
57 This material may be distributed subject to the terms and conditions set forth in
58 the Open Publication License, v 1.0, 8 June 1999.
59 <a class="ulink" href="http://opencontent.org/openpub/" target="_top">http://opencontent.org/openpub/</a>.
60 </p></div></div></body></html>