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">
9 <holder>Khronos Group
</holder>
12 <refentrytitle>glGetTexLevelParameter
</refentrytitle>
13 <manvolnum>3G
</manvolnum>
16 <refname>glGetTexLevelParameter
</refname>
17 <refpurpose>return texture parameter values for a specific level of detail
</refpurpose>
19 <refsynopsisdiv><title>C Specification
</title>
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>
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>
39 <!-- eqn: ignoring delim $$ -->
40 <refsect1 id=
"parameters"><title>Parameters
</title>
43 <term><parameter>target
</parameter></term>
46 Specifies the symbolic name of the target texture,
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>.
76 <term><parameter>level
</parameter></term>
79 Specifies the level-of-detail number of the desired image.
80 Level
0 is the base image level.
82 <inlineequation><mml:math><mml:mi mathvariant=
"italic">n
</mml:mi></mml:math></inlineequation>
84 <inlineequation><mml:math><mml:mi mathvariant=
"italic">n
</mml:mi></mml:math></inlineequation>th
85 mipmap reduction image.
90 <term><parameter>pname
</parameter></term>
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>,
98 <constant>GL_TEXTURE_RED_SIZE
</constant>,
99 <constant>GL_TEXTURE_GREEN_SIZE
</constant>,
100 <constant>GL_TEXTURE_BLUE_SIZE
</constant>,
101 <constant>GL_TEXTURE_ALPHA_SIZE
</constant>,
102 <constant>GL_TEXTURE_DEPTH_SIZE
</constant>,
103 <constant>GL_TEXTURE_COMPRESSED
</constant>,
104 <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE
</constant>, and
105 <constant>GL_TEXTURE_BUFFER_OFFSET
</constant>
111 <term><parameter>params
</parameter></term>
114 Returns the requested data.
120 <refsect1 id=
"description"><title>Description
</title>
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>.
139 <constant>GL_MAX_TEXTURE_SIZE
</constant>, and
<constant>GL_MAX_3D_TEXTURE_SIZE
</constant> are not really
141 It has to report the largest square texture image that can be
142 accommodated with mipmaps
143 but a long skinny texture, or a texture without mipmaps may
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
153 <parameter>pname
</parameter> specifies the texture parameter whose value or values
157 The accepted parameter names are as follows:
161 <term><constant>GL_TEXTURE_WIDTH
</constant></term>
166 <parameter>params
</parameter> returns a single value,
167 the width of the texture image.
168 The initial value is
0.
173 <term><constant>GL_TEXTURE_HEIGHT
</constant></term>
178 <parameter>params
</parameter> returns a single value,
179 the height of the texture image.
180 The initial value is
0.
185 <term><constant>GL_TEXTURE_DEPTH
</constant></term>
190 <parameter>params
</parameter> returns a single value,
191 the depth of the texture image.
192 The initial value is
0.
197 <term><constant>GL_TEXTURE_INTERNAL_FORMAT
</constant></term>
202 <parameter>params
</parameter> returns a single value,
203 the internal format of the texture image.
208 <term><constant>GL_TEXTURE_RED_TYPE
</constant>,
</term>
213 <term><constant>GL_TEXTURE_GREEN_TYPE
</constant>,
</term>
218 <term><constant>GL_TEXTURE_BLUE_TYPE
</constant>,
</term>
223 <term><constant>GL_TEXTURE_ALPHA_TYPE
</constant>,
</term>
228 <term><constant>GL_TEXTURE_DEPTH_TYPE
</constant></term>
233 The data type used to store the component.
234 The types
<constant>GL_NONE
</constant>,
<constant>GL_SIGNED_NORMALIZED
</constant>,
235 <constant>GL_UNSIGNED_NORMALIZED
</constant>,
<constant>GL_FLOAT
</constant>,
236 <constant>GL_INT
</constant>, and
<constant>GL_UNSIGNED_INT
</constant> may be returned
237 to indicate signed normalized fixed-point, unsigned normalized fixed-point, floating-point, integer unnormalized, and
238 unsigned integer unnormalized components, respectively.
243 <term><constant>GL_TEXTURE_RED_SIZE
</constant>,
</term>
248 <term><constant>GL_TEXTURE_GREEN_SIZE
</constant>,
</term>
253 <term><constant>GL_TEXTURE_BLUE_SIZE
</constant>,
</term>
258 <term><constant>GL_TEXTURE_ALPHA_SIZE
</constant>,
</term>
263 <term><constant>GL_TEXTURE_DEPTH_SIZE
</constant></term>
268 The internal storage resolution of an individual component.
269 The resolution chosen by the GL will be a close match for the resolution
270 requested by the user with the component argument of
<citerefentry><refentrytitle>glTexImage1D
</refentrytitle></citerefentry>,
271 <citerefentry><refentrytitle>glTexImage2D
</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glCopyTexImage1D
</refentrytitle></citerefentry>, and
272 <citerefentry><refentrytitle>glCopyTexImage2D
</refentrytitle></citerefentry>. The initial value is
0.
277 <term><constant>GL_TEXTURE_COMPRESSED
</constant></term>
282 <parameter>params
</parameter> returns a single boolean value indicating if the texture image is
283 stored in a compressed internal format. The initiali value is
<constant>GL_FALSE
</constant>.
288 <term><constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE
</constant></term>
293 <parameter>params
</parameter> returns a single integer value, the number of unsigned bytes of the
294 compressed texture image that would be returned from
295 <citerefentry><refentrytitle>glGetCompressedTexImage
</refentrytitle></citerefentry>.
300 <term><constant>GL_TEXTURE_BUFFER_OFFSET
</constant></term>
305 <parameter>params
</parameter> returns a single integer value, the offset into the
306 data store of the buffer bound to a buffer texture.
307 <citerefentry><refentrytitle>glTexBufferRange
</refentrytitle></citerefentry>.
312 <term><constant>GL_TEXTURE_BUFFER_SIZE
</constant></term>
317 <parameter>params
</parameter> returns a single integer value, the size of the range of a
318 data store of the buffer bound to a buffer texture.
319 <citerefentry><refentrytitle>glTexBufferRange
</refentrytitle></citerefentry>.
325 <refsect1 id=
"notes"><title>Notes
</title>
327 If an error is generated,
328 no change is made to the contents of
<parameter>params
</parameter>.
331 <function>glGetTexLevelParameter
</function> returns the texture level parameters for the active texture unit.
334 <constant>GL_TEXTURE_BUFFER_OFFSET
</constant> and
<constant>GL_TEXTURE_BUFFER_SIZE
</constant> are available only
335 if the GL version is
4.3 or greater.
338 <refsect1 id=
"errors"><title>Errors
</title>
340 <constant>GL_INVALID_ENUM
</constant> is generated if
<parameter>target
</parameter> or
<parameter>pname
</parameter> is not an
344 <constant>GL_INVALID_VALUE
</constant> is generated if
<parameter>level
</parameter> is less than
0.
347 <constant>GL_INVALID_VALUE
</constant> may be generated if
<parameter>level
</parameter> is greater
349 <inlineequation><mml:math>
350 <!-- eqn: log sub 2: -->
351 <mml:msub><mml:mi mathvariant=
"italic">log
</mml:mi>
354 </mml:math></inlineequation>
355 <emphasis>max
</emphasis>,
356 where
<emphasis>max
</emphasis> is the returned value of
<constant>GL_MAX_TEXTURE_SIZE
</constant>.
359 <constant>GL_INVALID_VALUE
</constant> is generated if
<parameter>target
</parameter> is
<constant>GL_TEXTURE_BUFFER
</constant>
360 and
<parameter>level
</parameter> is not zero.
363 <constant>GL_INVALID_OPERATION
</constant> is generated if
364 <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE
</constant> is queried on texture images with an
365 uncompressed internal format or on proxy targets.
368 <refsect1 id=
"seealso"><title>See Also
</title>
370 <citerefentry><refentrytitle>glActiveTexture
</refentrytitle></citerefentry>,
371 <citerefentry><refentrytitle>glGetTexParameter
</refentrytitle></citerefentry>,
372 <citerefentry><refentrytitle>glCopyTexImage1D
</refentrytitle></citerefentry>,
373 <citerefentry><refentrytitle>glCopyTexImage2D
</refentrytitle></citerefentry>,
374 <citerefentry><refentrytitle>glCopyTexSubImage1D
</refentrytitle></citerefentry>,
375 <citerefentry><refentrytitle>glCopyTexSubImage2D
</refentrytitle></citerefentry>,
376 <citerefentry><refentrytitle>glCopyTexSubImage3D
</refentrytitle></citerefentry>,
377 <citerefentry><refentrytitle>glTexImage1D
</refentrytitle></citerefentry>,
378 <citerefentry><refentrytitle>glTexImage2D
</refentrytitle></citerefentry>,
379 <citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry>,
380 <citerefentry><refentrytitle>glTexSubImage1D
</refentrytitle></citerefentry>,
381 <citerefentry><refentrytitle>glTexSubImage2D
</refentrytitle></citerefentry>,
382 <citerefentry><refentrytitle>glTexSubImage3D
</refentrytitle></citerefentry>,
383 <citerefentry><refentrytitle>glTexParameter
</refentrytitle></citerefentry>
386 <refsect1 id=
"Copyright"><title>Copyright
</title>
388 Copyright
<trademark class=
"copyright"></trademark> 1991-
2006
389 Silicon Graphics, Inc. Copyright
<trademark class=
"copyright"></trademark> 2010-
2013
390 Khronos Group. This document is licensed under the SGI
391 Free Software B License. For details, see
392 <ulink url=
"http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/
</ulink>.