rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man3 / xhtml / glGetUniformLocation.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>glGetUniformLocation</title><meta name="generator" content="DocBook XSL Stylesheets V1.69.1" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="glGetUniformLocation"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glGetUniformLocation — Returns the location 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"><tr><td><code class="funcdef">GLint <b class="fsfunc">glGetUniformLocation</b>(</code></td><td>GLuint  </td><td><var class="pdparam">program</var>, </td></tr><tr><td> </td><td>const GLchar * </td><td><var class="pdparam">name</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
5 queried.</p></dd><dt><span class="term"><em class="parameter"><code>name</code></em></span></dt><dd><p>Points to a null terminated string containing
6 the name of the uniform variable whose location is
7 to be queried.</p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p><code class="function">glGetUniformLocation </code> returns an
8 integer that represents the location of a specific uniform
9 variable within a program object. <em class="parameter"><code>name</code></em>
10 must be a null terminated string that contains no white space.
11 <em class="parameter"><code>name</code></em> must be an active uniform variable
12 name in <em class="parameter"><code>program</code></em> that is not a structure,
13 an array of structures, or a subcomponent of a vector or a
14 matrix. This function returns -1 if <em class="parameter"><code>name</code></em>
15 does not correspond to an active uniform variable in
16 <em class="parameter"><code>program</code></em> or if <em class="parameter"><code>name</code></em>
17 starts with the reserved prefix "gl_".</p><p>Uniform variables that are structures or arrays of
18 structures may be queried by calling
19 <code class="function">glGetUniformLocation</code> for each field within
20 the structure. The array element operator "[]" and the
21 structure field operator "." may be used in
22 <em class="parameter"><code>name</code></em> in order to select elements within
23 an array or fields within a structure. The result of using these
24 operators is not allowed to be another structure, an array of
25 structures, or a subcomponent of a vector or a matrix. Except if
26 the last part of <em class="parameter"><code>name</code></em> indicates a uniform
27 variable array, the location of the first element of an array
28 can be retrieved by using the name of the array, or by using the
29 name appended by "[0]".</p><p>The actual locations assigned to uniform variables are not
30 known until the program object is linked successfully. After
31 linking has occurred, the command
32 <code class="function">glGetUniformLocation</code> can be used to obtain
33 the location of a uniform variable. This location value can then
34 be passed to
35 <a href="glUniform.xml"><span class="citerefentry"><span class="refentrytitle">glUniform</span></span></a>
36 to set the value of the uniform variable or to
37 <a href="glGetUniform.xml"><span class="citerefentry"><span class="refentrytitle">glGetUniform</span></span></a>
38 in order to query the current value of the uniform variable.
39 After a program object has been linked successfully, the index
40 values for uniform variables remain fixed until the next link
41 command occurs. Uniform variable locations and values can only
42 be queried after a link if the link was successful.</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
43 <em class="parameter"><code>program</code></em> is not a value generated by
44 OpenGL.</p><p><code class="constant">GL_INVALID_OPERATION</code> is generated if
45 <em class="parameter"><code>program</code></em> is not a program object.</p><p><code class="constant">GL_INVALID_OPERATION</code> is generated if
46 <em class="parameter"><code>program</code></em> has not been successfully
47 linked.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="associatedgets"></a><h2>Associated Gets</h2><p><a href="glGetActiveUniform.xml"><span class="citerefentry"><span class="refentrytitle">glGetActiveUniform</span></span></a>
48 with arguments <em class="parameter"><code>program</code></em> and the index of
49 an active uniform variable</p><p><a href="glGetProgram.xml"><span class="citerefentry"><span class="refentrytitle">glGetProgram</span></span></a>
50 with arguments <em class="parameter"><code>program</code></em> and
51 <code class="constant">GL_ACTIVE_UNIFORMS</code> or
52 <code class="constant">GL_ACTIVE_UNIFORM_MAX_LENGTH</code></p><p><a href="glGetUniform.xml"><span class="citerefentry"><span class="refentrytitle">glGetUniform</span></span></a>
53 with arguments <em class="parameter"><code>program</code></em> and the name of a
54 uniform variable</p><p><a 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 href="glLinkProgram.xml"><span class="citerefentry"><span class="refentrytitle">glLinkProgram</span></span></a>,
55 <a 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 href="http://opencontent.org/openpub/" target="_top">http://opencontent.org/openpub/</a>.
60 </p></div></div></body></html>