Revert "update upstream sources"
[clinton/guile-figl.git] / upstream-doc / man3 / glGetTexLevelParameter.xml
CommitLineData
7faf1d71
AW
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
4<refentry id="glGetTexLevelParameter">
5 <refmeta>
6 <refmetainfo>
7 <copyright>
f37e7e3d
DH
8 <year>1991-2006</year>
9 <holder>Silicon Graphics, Inc.</holder>
7faf1d71
AW
10 </copyright>
11 </refmetainfo>
12 <refentrytitle>glGetTexLevelParameter</refentrytitle>
13 <manvolnum>3G</manvolnum>
14 </refmeta>
15 <refnamediv>
16 <refname>glGetTexLevelParameter</refname>
17 <refpurpose>return texture parameter values for a specific level of detail</refpurpose>
18 </refnamediv>
19 <refsynopsisdiv><title>C Specification</title>
20 <funcsynopsis>
21 <funcprototype>
22 <funcdef>void <function>glGetTexLevelParameterfv</function></funcdef>
23 <paramdef>GLenum <parameter>target</parameter></paramdef>
24 <paramdef>GLint <parameter>level</parameter></paramdef>
25 <paramdef>GLenum <parameter>pname</parameter></paramdef>
26 <paramdef>GLfloat * <parameter>params</parameter></paramdef>
27 </funcprototype>
28 </funcsynopsis>
29 <funcsynopsis>
30 <funcprototype>
31 <funcdef>void <function>glGetTexLevelParameteriv</function></funcdef>
32 <paramdef>GLenum <parameter>target</parameter></paramdef>
33 <paramdef>GLint <parameter>level</parameter></paramdef>
34 <paramdef>GLenum <parameter>pname</parameter></paramdef>
35 <paramdef>GLint * <parameter>params</parameter></paramdef>
36 </funcprototype>
37 </funcsynopsis>
38 </refsynopsisdiv>
39 <!-- eqn: ignoring delim $$ -->
40 <refsect1 id="parameters"><title>Parameters</title>
41 <variablelist>
42 <varlistentry>
43 <term><parameter>target</parameter></term>
44 <listitem>
45 <para>
46 Specifies the symbolic name of the target texture,
47 one of
48 <constant>GL_TEXTURE_1D</constant>,
49 <constant>GL_TEXTURE_2D</constant>,
50 <constant>GL_TEXTURE_3D</constant>,
51 <constant>GL_TEXTURE_1D_ARRAY</constant>,
52 <constant>GL_TEXTURE_2D_ARRAY</constant>,
53 <constant>GL_TEXTURE_RECTANGLE</constant>,
54 <constant>GL_TEXTURE_2D_MULTISAMPLE</constant>,
55 <constant>GL_TEXTURE_2D_MULTISAMPLE_ARRAY</constant>,
56 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X</constant>,
57 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>,
58 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>,
59 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</constant>,
60 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>,
61 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>,
62 <constant>GL_PROXY_TEXTURE_1D</constant>,
63 <constant>GL_PROXY_TEXTURE_2D</constant>,
64 <constant>GL_PROXY_TEXTURE_3D</constant>,
65 <constant>GL_PROXY_TEXTURE_1D_ARRAY</constant>,
66 <constant>GL_PROXY_TEXTURE_2D_ARRAY</constant>,
67 <constant>GL_PROXY_TEXTURE_RECTANGLE</constant>,
68 <constant>GL_PROXY_TEXTURE_2D_MULTISAMPLE</constant>,
69 <constant>GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY</constant>,
70 <constant>GL_PROXY_TEXTURE_CUBE_MAP</constant>, or
71 <constant>GL_TEXTURE_BUFFER</constant>.
72 </para>
73 </listitem>
74 </varlistentry>
75 <varlistentry>
76 <term><parameter>level</parameter></term>
77 <listitem>
78 <para>
79 Specifies the level-of-detail number of the desired image.
80 Level 0 is the base image level.
81 Level
82 <inlineequation><mml:math><mml:mi mathvariant="italic">n</mml:mi></mml:math></inlineequation>
83 is the
84 <inlineequation><mml:math><mml:mi mathvariant="italic">n</mml:mi></mml:math></inlineequation>th
85 mipmap reduction image.
86 </para>
87 </listitem>
88 </varlistentry>
89 <varlistentry>
90 <term><parameter>pname</parameter></term>
91 <listitem>
92 <para>
93 Specifies the symbolic name of a texture parameter.
94 <constant>GL_TEXTURE_WIDTH</constant>,
95 <constant>GL_TEXTURE_HEIGHT</constant>,
96 <constant>GL_TEXTURE_DEPTH</constant>,
97 <constant>GL_TEXTURE_INTERNAL_FORMAT</constant>,
f37e7e3d 98 <constant>GL_TEXTURE_BORDER</constant>,
7faf1d71
AW
99 <constant>GL_TEXTURE_RED_SIZE</constant>,
100 <constant>GL_TEXTURE_GREEN_SIZE</constant>,
101 <constant>GL_TEXTURE_BLUE_SIZE</constant>,
102 <constant>GL_TEXTURE_ALPHA_SIZE</constant>,
103 <constant>GL_TEXTURE_DEPTH_SIZE</constant>,
104 <constant>GL_TEXTURE_COMPRESSED</constant>, and
105 <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant>
106 are accepted.
107 </para>
108 </listitem>
109 </varlistentry>
110 <varlistentry>
111 <term><parameter>params</parameter></term>
112 <listitem>
113 <para>
114 Returns the requested data.
115 </para>
116 </listitem>
117 </varlistentry>
118 </variablelist>
119 </refsect1>
120 <refsect1 id="description"><title>Description</title>
121 <para>
122 <function>glGetTexLevelParameter</function> returns in <parameter>params</parameter> texture parameter values for a specific
123 level-of-detail value,
124 specified as <parameter>level</parameter>.
125 <parameter>target</parameter> defines the target texture,
126 either <constant>GL_TEXTURE_1D</constant>, <constant>GL_TEXTURE_2D</constant>, <constant>GL_TEXTURE_3D</constant>,
127 <constant>GL_PROXY_TEXTURE_1D</constant>,
128 <constant>GL_PROXY_TEXTURE_2D</constant>,
129 <constant>GL_PROXY_TEXTURE_3D</constant>,
130 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X</constant>,
131 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>,
132 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>,
133 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</constant>,
134 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>,
135 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>, or
136 <constant>GL_PROXY_TEXTURE_CUBE_MAP</constant>.
137 </para>
138 <para>
139 <constant>GL_MAX_TEXTURE_SIZE</constant>, and <constant>GL_MAX_3D_TEXTURE_SIZE</constant> are not really
140 descriptive enough.
141 It has to report the largest square texture image that can be
f37e7e3d
DH
142 accommodated with mipmaps and borders,
143 but a long skinny texture, or a texture without mipmaps and borders, may
7faf1d71
AW
144 easily fit in texture memory.
145 The proxy targets allow the user to more accurately query
146 whether the GL can accommodate a texture of a given configuration.
147 If the texture cannot be accommodated, the texture state variables, which
148 may be queried with <function>glGetTexLevelParameter</function>, are set to 0. If the texture can be accommodated,
149 the texture state values will be set as they would be set for a
150 non-proxy target.
151 </para>
152 <para>
153 <parameter>pname</parameter> specifies the texture parameter whose value or values
154 will be returned.
155 </para>
156 <para>
157 The accepted parameter names are as follows:
158 </para>
159 <variablelist>
160 <varlistentry>
161 <term><constant>GL_TEXTURE_WIDTH</constant></term>
162 <listitem>
163 <para>
164 </para>
165 <para>
166 <parameter>params</parameter> returns a single value,
167 the width of the texture image.
f37e7e3d
DH
168 This value includes the border of the texture image. The initial value is
169 0.
7faf1d71
AW
170 </para>
171 </listitem>
172 </varlistentry>
173 <varlistentry>
174 <term><constant>GL_TEXTURE_HEIGHT</constant></term>
175 <listitem>
176 <para>
177 </para>
178 <para>
179 <parameter>params</parameter> returns a single value,
180 the height of the texture image.
f37e7e3d
DH
181 This value includes the border of the texture image. The initial value is
182 0.
7faf1d71
AW
183 </para>
184 </listitem>
185 </varlistentry>
186 <varlistentry>
187 <term><constant>GL_TEXTURE_DEPTH</constant></term>
188 <listitem>
189 <para>
190 </para>
191 <para>
192 <parameter>params</parameter> returns a single value,
193 the depth of the texture image.
f37e7e3d
DH
194 This value includes the border of the texture image. The initial value is
195 0.
7faf1d71
AW
196 </para>
197 </listitem>
198 </varlistentry>
199 <varlistentry>
200 <term><constant>GL_TEXTURE_INTERNAL_FORMAT</constant></term>
201 <listitem>
202 <para>
203 </para>
204 <para>
205 <parameter>params</parameter> returns a single value,
206 the internal format of the texture image.
207 </para>
208 </listitem>
209 </varlistentry>
210 <varlistentry>
211 <term><constant>GL_TEXTURE_RED_TYPE</constant>,</term>
212 <listitem>
213 </listitem>
214 </varlistentry>
215 <varlistentry>
216 <term><constant>GL_TEXTURE_GREEN_TYPE</constant>,</term>
217 <listitem>
218 </listitem>
219 </varlistentry>
220 <varlistentry>
221 <term><constant>GL_TEXTURE_BLUE_TYPE</constant>,</term>
222 <listitem>
223 </listitem>
224 </varlistentry>
225 <varlistentry>
226 <term><constant>GL_TEXTURE_ALPHA_TYPE</constant>,</term>
227 <listitem>
228 </listitem>
229 </varlistentry>
230 <varlistentry>
231 <term><constant>GL_TEXTURE_DEPTH_TYPE</constant></term>
232 <listitem>
233 <para>
234 </para>
235 <para>
236 The data type used to store the component.
237 The types <constant>GL_NONE</constant>, <constant>GL_SIGNED_NORMALIZED</constant>,
238 <constant>GL_UNSIGNED_NORMALIZED</constant>, <constant>GL_FLOAT</constant>,
239 <constant>GL_INT</constant>, and <constant>GL_UNSIGNED_INT</constant> may be returned
240 to indicate signed normalized fixed-point, unsigned normalized fixed-point, floating-point, integer unnormalized, and
241 unsigned integer unnormalized components, respectively.
242 </para>
243 </listitem>
244 </varlistentry>
245 <varlistentry>
246 <term><constant>GL_TEXTURE_RED_SIZE</constant>,</term>
247 <listitem>
248 </listitem>
249 </varlistentry>
250 <varlistentry>
251 <term><constant>GL_TEXTURE_GREEN_SIZE</constant>,</term>
252 <listitem>
253 </listitem>
254 </varlistentry>
255 <varlistentry>
256 <term><constant>GL_TEXTURE_BLUE_SIZE</constant>,</term>
257 <listitem>
258 </listitem>
259 </varlistentry>
260 <varlistentry>
261 <term><constant>GL_TEXTURE_ALPHA_SIZE</constant>,</term>
262 <listitem>
263 </listitem>
264 </varlistentry>
265 <varlistentry>
266 <term><constant>GL_TEXTURE_DEPTH_SIZE</constant></term>
267 <listitem>
268 <para>
269 </para>
270 <para>
271 The internal storage resolution of an individual component.
272 The resolution chosen by the GL will be a close match for the resolution
273 requested by the user with the component argument of <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
274 <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>, <citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>, and
275 <citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>. The initial value is 0.
276 </para>
277 </listitem>
278 </varlistentry>
279 <varlistentry>
280 <term><constant>GL_TEXTURE_COMPRESSED</constant></term>
281 <listitem>
282 <para>
283 </para>
284 <para>
285 <parameter>params</parameter> returns a single boolean value indicating if the texture image is
286 stored in a compressed internal format. The initiali value is <constant>GL_FALSE</constant>.
287 </para>
288 </listitem>
289 </varlistentry>
290 <varlistentry>
291 <term><constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant></term>
292 <listitem>
293 <para>
294 </para>
295 <para>
296 <parameter>params</parameter> returns a single integer value, the number of unsigned bytes of the
297 compressed texture image that would be returned from
298 <citerefentry><refentrytitle>glGetCompressedTexImage</refentrytitle></citerefentry>.
299 </para>
300 </listitem>
301 </varlistentry>
302 </variablelist>
303 </refsect1>
304 <refsect1 id="notes"><title>Notes</title>
305 <para>
306 If an error is generated,
307 no change is made to the contents of <parameter>params</parameter>.
308 </para>
309 <para>
310 <function>glGetTexLevelParameter</function> returns the texture level parameters for the active texture unit.
311 </para>
312 </refsect1>
313 <refsect1 id="errors"><title>Errors</title>
314 <para>
315 <constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> or <parameter>pname</parameter> is not an
316 accepted value.
317 </para>
318 <para>
319 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>level</parameter> is less than 0.
320 </para>
321 <para>
322 <constant>GL_INVALID_VALUE</constant> may be generated if <parameter>level</parameter> is greater
323 than
324 <inlineequation><mml:math>
325 <!-- eqn: log sub 2: -->
326 <mml:msub><mml:mi mathvariant="italic">log</mml:mi>
327 <mml:mn>2</mml:mn>
328 </mml:msub>
329 </mml:math></inlineequation>
330 <emphasis>max</emphasis>,
331 where <emphasis>max</emphasis> is the returned value of <constant>GL_MAX_TEXTURE_SIZE</constant>.
332 </para>
333 <para>
334 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>target</parameter> is <constant>GL_TEXTURE_BUFFER</constant>
335 and <parameter>level</parameter> is not zero.
336 </para>
337 <para>
338 <constant>GL_INVALID_OPERATION</constant> is generated if
339 <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE</constant> is queried on texture images with an
340 uncompressed internal format or on proxy targets.
341 </para>
342 </refsect1>
343 <refsect1 id="seealso"><title>See Also</title>
344 <para>
345 <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
346 <citerefentry><refentrytitle>glGetTexParameter</refentrytitle></citerefentry>,
347 <citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
348 <citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
349 <citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
350 <citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
351 <citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
352 <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
353 <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>,
354 <citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
355 <citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
356 <citerefentry><refentrytitle>glTexSubImage2D</refentrytitle></citerefentry>,
357 <citerefentry><refentrytitle>glTexSubImage3D</refentrytitle></citerefentry>,
358 <citerefentry><refentrytitle>glTexParameter</refentrytitle></citerefentry>
359 </para>
360 </refsect1>
361 <refsect1 id="Copyright"><title>Copyright</title>
362 <para>
363 Copyright <trademark class="copyright"></trademark> 1991-2006
f37e7e3d 364 Silicon Graphics, Inc. Copyright <trademark class="copyright"></trademark> 2010
7faf1d71
AW
365 Khronos Group. This document is licensed under the SGI
366 Free Software B License. For details, see
367 <ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
368 </para>
369 </refsect1>
370</refentry>