rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man4 / xhtml / glGetUniformLocation.xml
CommitLineData
7faf1d71
AW
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 - 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="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>, if <em class="parameter"><code>name</code></em>
17 starts with the reserved prefix "gl_", or if
18 <em class="parameter"><code>name</code></em> is associated with an atomic counter or
19 a named uniform block.</p><p>Uniform variables that are structures or arrays of
20 structures may be queried by calling
21 <code class="function">glGetUniformLocation</code> for each field within
22 the structure. The array element operator "[]" and the
23 structure field operator "." may be used in
24 <em class="parameter"><code>name</code></em> in order to select elements within
25 an array or fields within a structure. The result of using these
26 operators is not allowed to be another structure, an array of
27 structures, or a subcomponent of a vector or a matrix. Except if
28 the last part of <em class="parameter"><code>name</code></em> indicates a uniform
29 variable array, the location of the first element of an array
30 can be retrieved by using the name of the array, or by using the
31 name appended by "[0]".</p><p>The actual locations assigned to uniform variables are not
32 known until the program object is linked successfully. After
33 linking has occurred, the command
34 <code class="function">glGetUniformLocation</code> can be used to obtain
35 the location of a uniform variable. This location value can then
36 be passed to
37 <a href="glUniform.xml"><span class="citerefentry"><span class="refentrytitle">glUniform</span></span></a>
38 to set the value of the uniform variable or to
39 <a href="glGetUniform.xml"><span class="citerefentry"><span class="refentrytitle">glGetUniform</span></span></a>
40 in order to query the current value of the uniform variable.
41 After a program object has been linked successfully, the index
42 values for uniform variables remain fixed until the next link
43 command occurs. Uniform variable locations and values can only
44 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
45 <em class="parameter"><code>program</code></em> is not a value generated by
46 OpenGL.</p><p><code class="constant">GL_INVALID_OPERATION</code> is generated if
47 <em class="parameter"><code>program</code></em> is not a program object.</p><p><code class="constant">GL_INVALID_OPERATION</code> is generated if
48 <em class="parameter"><code>program</code></em> has not been successfully
49 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>
50 with arguments <em class="parameter"><code>program</code></em> and the index of
51 an active uniform variable</p><p><a href="glGetProgram.xml"><span class="citerefentry"><span class="refentrytitle">glGetProgram</span></span></a>
52 with arguments <em class="parameter"><code>program</code></em> and
53 <code class="constant">GL_ACTIVE_UNIFORMS</code> or
54 <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>
55 with arguments <em class="parameter"><code>program</code></em> and the name of a
56 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>,
57 <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>
58 Copyright <span class="trademark"></span>© 2003-2005 3Dlabs Inc. Ltd.
59 <span class="trademark"></span>© 2011 Khronos Group.
60 This material may be distributed subject to the terms and conditions set forth in
61 the Open Publication License, v 1.0, 8 June 1999.
62 <a href="http://opencontent.org/openpub/" target="_top">http://opencontent.org/openpub/</a>.
63 </p></div></div></body></html>