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>glGetProgram
</title><meta name=
"generator" content=
"DocBook XSL Stylesheets V1.75.2" /></head><body><div class=
"refentry" title=
"glGetProgram"><a id=
"glGetProgram"></a><div class=
"titlepage"></div><div class=
"refnamediv"><h2>Name
</h2><p>glGetProgramiv — Returns a parameter from a program object
</p></div><div class=
"refsynopsisdiv" title=
"C Specification"><h2>C Specification
</h2><div class=
"funcsynopsis"><table border=
"0" summary=
"Function synopsis" cellspacing=
"0" cellpadding=
"0" class=
"funcprototype-table"><tr><td><code class=
"funcdef">void
<b class=
"fsfunc">glGetProgramiv
</b>(
</code></td><td>GLuint
<var class=
"pdparam">program
</var>,
</td></tr><tr><td> </td><td>GLenum
<var class=
"pdparam">pname
</var>,
</td></tr><tr><td> </td><td>GLint *
<var class=
"pdparam">params
</var><code>)
</code>;
</td></tr></table><div class=
"funcprototype-spacer"> </div></div></div><div class=
"refsect1" title=
"Parameters"><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>pname
</code></em></span></dt><dd><p>Specifies the object parameter. Accepted
7 <code class=
"constant">GL_DELETE_STATUS
</code>,
8 <code class=
"constant">GL_LINK_STATUS
</code>,
9 <code class=
"constant">GL_VALIDATE_STATUS
</code>,
10 <code class=
"constant">GL_INFO_LOG_LENGTH
</code>,
11 <code class=
"constant">GL_ATTACHED_SHADERS
</code>,
12 <code class=
"constant">GL_ACTIVE_ATTRIBUTES
</code>,
13 <code class=
"constant">GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
</code>,
14 <code class=
"constant">GL_ACTIVE_UNIFORMS
</code>,
15 <code class=
"constant">GL_ACTIVE_UNIFORM_BLOCKS
</code>,
16 <code class=
"constant">GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH
</code>,
17 <code class=
"constant">GL_ACTIVE_UNIFORM_MAX_LENGTH
</code>,
18 <code class=
"constant">GL_TRANSFORM_FEEDBACK_BUFFER_MODE
</code>,
19 <code class=
"constant">GL_TRANSFORM_FEEDBACK_VARYINGS
</code>,
20 <code class=
"constant">GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH
</code>,
21 <code class=
"constant">GL_GEOMETRY_VERTICES_OUT
</code>,
22 <code class=
"constant">GL_GEOMETRY_INPUT_TYPE
</code>, and
23 <code class=
"constant">GL_GEOMETRY_OUTPUT_TYPE
</code>.
</p></dd><dt><span class=
"term"><em class=
"parameter"><code>params
</code></em></span></dt><dd><p>Returns the requested object parameter.
</p></dd></dl></div></div><div class=
"refsect1" title=
"Description"><a id=
"description"></a><h2>Description
</h2><p><code class=
"function">glGetProgram
</code>
24 returns in
<em class=
"parameter"><code>params
</code></em>
25 the value of a parameter for a specific program object. The following parameters are defined:
</p><div class=
"variablelist"><dl><dt><span class=
"term"><code class=
"constant">GL_DELETE_STATUS
</code></span></dt><dd><p>
26 </p><p> <em class=
"parameter"><code>params
</code></em> returns
27 <code class=
"constant">GL_TRUE
</code> if
28 <em class=
"parameter"><code>program
</code></em> is currently flagged
29 for deletion, and
<code class=
"constant">GL_FALSE
</code>
30 otherwise.
</p></dd><dt><span class=
"term"><code class=
"constant">GL_LINK_STATUS
</code></span></dt><dd><p>
31 </p><p> <em class=
"parameter"><code>params
</code></em> returns
32 <code class=
"constant">GL_TRUE
</code> if the last link
33 operation on
<em class=
"parameter"><code>program
</code></em> was
34 successful, and
<code class=
"constant">GL_FALSE
</code>
35 otherwise.
</p></dd><dt><span class=
"term"><code class=
"constant">GL_VALIDATE_STATUS
</code></span></dt><dd><p>
36 </p><p> <em class=
"parameter"><code>params
</code></em> returns
37 <code class=
"constant">GL_TRUE
</code> or if the last
38 validation operation on
39 <em class=
"parameter"><code>program
</code></em> was successful, and
40 <code class=
"constant">GL_FALSE
</code>
41 otherwise.
</p></dd><dt><span class=
"term"><code class=
"constant">GL_INFO_LOG_LENGTH
</code></span></dt><dd><p>
42 </p><p> <em class=
"parameter"><code>params
</code></em> returns the
43 number of characters in the information log for
44 <em class=
"parameter"><code>program
</code></em> including the null
45 termination character (i.e., the size of the
46 character buffer required to store the information
47 log). If
<em class=
"parameter"><code>program
</code></em> has no
48 information log, a value of
0 is
49 returned.
</p></dd><dt><span class=
"term"><code class=
"constant">GL_ATTACHED_SHADERS
</code></span></dt><dd><p>
50 </p><p> <em class=
"parameter"><code>params
</code></em> returns the
51 number of shader objects attached to
52 <em class=
"parameter"><code>program
</code></em>.
</p></dd><dt><span class=
"term"><code class=
"constant">GL_ACTIVE_ATTRIBUTES
</code></span></dt><dd><p>
53 </p><p> <em class=
"parameter"><code>params
</code></em> returns the
54 number of active attribute variables for
55 <em class=
"parameter"><code>program
</code></em>.
</p></dd><dt><span class=
"term"><code class=
"constant">GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
</code></span></dt><dd><p>
56 </p><p> <em class=
"parameter"><code>params
</code></em> returns the
57 length of the longest active attribute name for
58 <em class=
"parameter"><code>program
</code></em>, including the null
59 termination character (i.e., the size of the
60 character buffer required to store the longest
61 attribute name). If no active attributes exist,
0 is
62 returned.
</p></dd><dt><span class=
"term"><code class=
"constant">GL_ACTIVE_UNIFORMS
</code></span></dt><dd><p>
63 </p><p> <em class=
"parameter"><code>params
</code></em> returns the
64 number of active uniform variables for
65 <em class=
"parameter"><code>program
</code></em>.
</p></dd><dt><span class=
"term"><code class=
"constant">GL_ACTIVE_UNIFORM_MAX_LENGTH
</code></span></dt><dd><p>
66 </p><p> <em class=
"parameter"><code>params
</code></em> returns the
67 length of the longest active uniform variable name
68 for
<em class=
"parameter"><code>program
</code></em>, including the
69 null termination character (i.e., the size of the
70 character buffer required to store the longest
71 uniform variable name). If no active uniform
72 variables exist,
0 is returned.
</p></dd><dt><span class=
"term"><code class=
"constant">GL_TRANSFORM_FEEDBACK_BUFFER_MODE
</code></span></dt><dd><p>
73 </p><p> <em class=
"parameter"><code>params
</code></em> returns a symbolic constant
74 indicating the buffer mode used when transform feedback is active.
75 This may be
<code class=
"constant">GL_SEPARATE_ATTRIBS
</code> or
76 <code class=
"constant">GL_INTERLEAVED_ATTRIBS
</code>.
</p></dd><dt><span class=
"term"><code class=
"constant">GL_TRANSFORM_FEEDBACK_VARYINGS
</code></span></dt><dd><p>
77 </p><p> <em class=
"parameter"><code>params
</code></em> returns the number of varying
78 variables to capture in transform feedback mode for the program.
</p></dd><dt><span class=
"term"><code class=
"constant">GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH
</code></span></dt><dd><p>
79 </p><p> <em class=
"parameter"><code>params
</code></em> returns the length of the longest
80 variable name to be used for transform feedback, including the null-terminator.
</p></dd><dt><span class=
"term"><code class=
"constant">GL_GEOMETRY_VERTICES_OUT
</code></span></dt><dd><p>
81 </p><p> <em class=
"parameter"><code>params
</code></em> returns the maximum number of vertices
82 that the geometry shader in
<em class=
"parameter"><code>program
</code></em> will output.
</p></dd><dt><span class=
"term"><code class=
"constant">GL_GEOMETRY_INPUT_TYPE
</code></span></dt><dd><p>
83 </p><p> <em class=
"parameter"><code>params
</code></em> returns a symbolic constant indicating
84 the primitive type accepted as input to the geometry shader contained in
85 <em class=
"parameter"><code>program
</code></em>.
</p></dd><dt><span class=
"term"><code class=
"constant">GL_GEOMETRY_OUTPUT_TYPE
</code></span></dt><dd><p>
86 </p><p> <em class=
"parameter"><code>params
</code></em> returns a symbolic constant indicating
87 the primitive type that will be output by the geometry shader contained
88 in
<em class=
"parameter"><code>program
</code></em>.
</p></dd></dl></div></div><div class=
"refsect1" title=
"Notes"><a id=
"notes"></a><h2>Notes
</h2><p>
89 <code class=
"constant">GL_ACTIVE_UNIFORM_BLOCKS
</code> and
90 <code class=
"constant">GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH
</code>
91 are available only if the GL version
3.1 or greater.
93 <code class=
"constant">GL_GEOMETRY_VERTICES_OUT
</code>,
<code class=
"constant">GL_GEOMETRY_INPUT_TYPE
</code>
94 and
<code class=
"constant">GL_GEOMETRY_OUTPUT_TYPE
</code> are accepted only if the GL
95 version is
3.2 or greater.
96 </p><p>If an error is generated, no change is made to the
97 contents of
<em class=
"parameter"><code>params
</code></em>.
</p></div><div class=
"refsect1" title=
"Errors"><a id=
"errors"></a><h2>Errors
</h2><p><code class=
"constant">GL_INVALID_VALUE
</code>
98 is generated if
<em class=
"parameter"><code>program
</code></em>
99 is not a value generated by OpenGL.
</p><p><code class=
"constant">GL_INVALID_OPERATION
</code>
100 is generated if
<em class=
"parameter"><code>program
</code></em>
101 does not refer to a program object.
</p><p><code class=
"constant">GL_INVALID_OPERATION
</code> is generated if
102 <em class=
"parameter"><code>pname
</code></em> is
<code class=
"constant">GL_GEOMETRY_VERTICES_OUT
</code>,
103 <code class=
"constant">GL_GEOMETRY_INPUT_TYPE
</code>, or
<code class=
"constant">GL_GEOMETRY_OUTPUT_TYPE
</code>,
104 and
<em class=
"parameter"><code>program
</code></em> does not contain a geometry shader.
</p><p><code class=
"constant">GL_INVALID_ENUM
</code>
105 is generated if
<em class=
"parameter"><code>pname
</code></em>
106 is not an accepted value.
</p></div><div class=
"refsect1" title=
"Associated Gets"><a id=
"associatedgets"></a><h2>Associated Gets
</h2><p><a class=
"citerefentry" href=
"glGetActiveAttrib.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGetActiveAttrib
</span></span></a>
107 with argument
<em class=
"parameter"><code>program
</code></em></p><p><a class=
"citerefentry" href=
"glGetActiveUniform.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGetActiveUniform
</span></span></a>
108 with argument
<em class=
"parameter"><code>program
</code></em></p><p><a class=
"citerefentry" href=
"glGetAttachedShaders.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGetAttachedShaders
</span></span></a>
109 with argument
<em class=
"parameter"><code>program
</code></em></p><p><a class=
"citerefentry" href=
"glGetProgramInfoLog.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGetProgramInfoLog
</span></span></a>
110 with argument
<em class=
"parameter"><code>program
</code></em></p><p><a class=
"citerefentry" href=
"glIsProgram.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glIsProgram
</span></span></a>
111 <em class=
"parameter"><code></code></em></p></div><div class=
"refsect1" title=
"See Also"><a id=
"seealso"></a><h2>See Also
</h2><p><a class=
"citerefentry" href=
"glAttachShader.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glAttachShader
</span></span></a>,
112 <a class=
"citerefentry" href=
"glCreateProgram.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glCreateProgram
</span></span></a>,
113 <a class=
"citerefentry" href=
"glDeleteProgram.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glDeleteProgram
</span></span></a>,
114 <a class=
"citerefentry" href=
"glGetShader.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGetShader
</span></span></a>,
115 <a class=
"citerefentry" href=
"glLinkProgram.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glLinkProgram
</span></span></a>,
116 <a class=
"citerefentry" href=
"glValidateProgram.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glValidateProgram
</span></span></a></p></div><div class=
"refsect1" title=
"Copyright"><a id=
"Copyright"></a><h2>Copyright
</h2><p>
117 Copyright
<span class=
"trademark"></span>©
2003-
2005 3Dlabs Inc. Ltd.
118 Copyright
<span class=
"trademark"></span>©
2010 Khronos Group.
119 This material may be distributed subject to the terms and conditions set forth in
120 the Open Publication License, v
1.0,
8 June
1999.
121 <a class=
"ulink" href=
"http://opencontent.org/openpub/" target=
"_top">http://opencontent.org/openpub/
</a>.
122 </p></div></div></body></html>