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>Silicon Graphics, Inc.
</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_BORDER
</constant>,
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>,
105 <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE
</constant>, and
106 <constant>GL_TEXTURE_BUFFER_OFFSET
</constant>
112 <term><parameter>params
</parameter></term>
115 Returns the requested data.
121 <refsect1 id=
"description"><title>Description
</title>
123 <function>glGetTexLevelParameter
</function> returns in
<parameter>params
</parameter> texture parameter values for a specific
124 level-of-detail value,
125 specified as
<parameter>level
</parameter>.
126 <parameter>target
</parameter> defines the target texture,
127 either
<constant>GL_TEXTURE_1D
</constant>,
<constant>GL_TEXTURE_2D
</constant>,
<constant>GL_TEXTURE_3D
</constant>,
128 <constant>GL_PROXY_TEXTURE_1D
</constant>,
129 <constant>GL_PROXY_TEXTURE_2D
</constant>,
130 <constant>GL_PROXY_TEXTURE_3D
</constant>,
131 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X
</constant>,
132 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X
</constant>,
133 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y
</constant>,
134 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
</constant>,
135 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z
</constant>,
136 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
</constant>, or
137 <constant>GL_PROXY_TEXTURE_CUBE_MAP
</constant>.
140 <constant>GL_MAX_TEXTURE_SIZE
</constant>, and
<constant>GL_MAX_3D_TEXTURE_SIZE
</constant> are not really
142 It has to report the largest square texture image that can be
143 accommodated with mipmaps and borders,
144 but a long skinny texture, or a texture without mipmaps and borders, may
145 easily fit in texture memory.
146 The proxy targets allow the user to more accurately query
147 whether the GL can accommodate a texture of a given configuration.
148 If the texture cannot be accommodated, the texture state variables, which
149 may be queried with
<function>glGetTexLevelParameter
</function>, are set to
0. If the texture can be accommodated,
150 the texture state values will be set as they would be set for a
154 <parameter>pname
</parameter> specifies the texture parameter whose value or values
158 The accepted parameter names are as follows:
162 <term><constant>GL_TEXTURE_WIDTH
</constant></term>
167 <parameter>params
</parameter> returns a single value,
168 the width of the texture image.
169 This value includes the border of the texture image. The initial value is
175 <term><constant>GL_TEXTURE_HEIGHT
</constant></term>
180 <parameter>params
</parameter> returns a single value,
181 the height of the texture image.
182 This value includes the border of the texture image. The initial value is
188 <term><constant>GL_TEXTURE_DEPTH
</constant></term>
193 <parameter>params
</parameter> returns a single value,
194 the depth of the texture image.
195 This value includes the border of the texture image. The initial value is
201 <term><constant>GL_TEXTURE_INTERNAL_FORMAT
</constant></term>
206 <parameter>params
</parameter> returns a single value,
207 the internal format of the texture image.
212 <term><constant>GL_TEXTURE_RED_TYPE
</constant>,
</term>
217 <term><constant>GL_TEXTURE_GREEN_TYPE
</constant>,
</term>
222 <term><constant>GL_TEXTURE_BLUE_TYPE
</constant>,
</term>
227 <term><constant>GL_TEXTURE_ALPHA_TYPE
</constant>,
</term>
232 <term><constant>GL_TEXTURE_DEPTH_TYPE
</constant></term>
237 The data type used to store the component.
238 The types
<constant>GL_NONE
</constant>,
<constant>GL_SIGNED_NORMALIZED
</constant>,
239 <constant>GL_UNSIGNED_NORMALIZED
</constant>,
<constant>GL_FLOAT
</constant>,
240 <constant>GL_INT
</constant>, and
<constant>GL_UNSIGNED_INT
</constant> may be returned
241 to indicate signed normalized fixed-point, unsigned normalized fixed-point, floating-point, integer unnormalized, and
242 unsigned integer unnormalized components, respectively.
247 <term><constant>GL_TEXTURE_RED_SIZE
</constant>,
</term>
252 <term><constant>GL_TEXTURE_GREEN_SIZE
</constant>,
</term>
257 <term><constant>GL_TEXTURE_BLUE_SIZE
</constant>,
</term>
262 <term><constant>GL_TEXTURE_ALPHA_SIZE
</constant>,
</term>
267 <term><constant>GL_TEXTURE_DEPTH_SIZE
</constant></term>
272 The internal storage resolution of an individual component.
273 The resolution chosen by the GL will be a close match for the resolution
274 requested by the user with the component argument of
<citerefentry><refentrytitle>glTexImage1D
</refentrytitle></citerefentry>,
275 <citerefentry><refentrytitle>glTexImage2D
</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glCopyTexImage1D
</refentrytitle></citerefentry>, and
276 <citerefentry><refentrytitle>glCopyTexImage2D
</refentrytitle></citerefentry>. The initial value is
0.
281 <term><constant>GL_TEXTURE_COMPRESSED
</constant></term>
286 <parameter>params
</parameter> returns a single boolean value indicating if the texture image is
287 stored in a compressed internal format. The initiali value is
<constant>GL_FALSE
</constant>.
292 <term><constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE
</constant></term>
297 <parameter>params
</parameter> returns a single integer value, the number of unsigned bytes of the
298 compressed texture image that would be returned from
299 <citerefentry><refentrytitle>glGetCompressedTexImage
</refentrytitle></citerefentry>.
304 <term><constant>GL_TEXTURE_BUFFER_OFFSET
</constant></term>
309 <parameter>params
</parameter> returns a single integer value, the offset into the
310 data store of the buffer bound to a buffer texture.
311 <citerefentry><refentrytitle>glTexBufferRange
</refentrytitle></citerefentry>.
316 <term><constant>GL_TEXTURE_BUFFER_SIZE
</constant></term>
321 <parameter>params
</parameter> returns a single integer value, the size of the range of a
322 data store of the buffer bound to a buffer texture.
323 <citerefentry><refentrytitle>glTexBufferRange
</refentrytitle></citerefentry>.
329 <refsect1 id=
"notes"><title>Notes
</title>
331 If an error is generated,
332 no change is made to the contents of
<parameter>params
</parameter>.
335 <function>glGetTexLevelParameter
</function> returns the texture level parameters for the active texture unit.
338 <constant>GL_TEXTURE_BUFFER_OFFSET
</constant> and
<constant>GL_TEXTURE_BUFFER_SIZE
</constant> are available only
339 if the GL version is
4.3 or greater.
342 <refsect1 id=
"errors"><title>Errors
</title>
344 <constant>GL_INVALID_ENUM
</constant> is generated if
<parameter>target
</parameter> or
<parameter>pname
</parameter> is not an
348 <constant>GL_INVALID_VALUE
</constant> is generated if
<parameter>level
</parameter> is less than
0.
351 <constant>GL_INVALID_VALUE
</constant> may be generated if
<parameter>level
</parameter> is greater
353 <inlineequation><mml:math>
354 <!-- eqn: log sub 2: -->
355 <mml:msub><mml:mi mathvariant=
"italic">log
</mml:mi>
358 </mml:math></inlineequation>
359 <emphasis>max
</emphasis>,
360 where
<emphasis>max
</emphasis> is the returned value of
<constant>GL_MAX_TEXTURE_SIZE
</constant>.
363 <constant>GL_INVALID_VALUE
</constant> is generated if
<parameter>target
</parameter> is
<constant>GL_TEXTURE_BUFFER
</constant>
364 and
<parameter>level
</parameter> is not zero.
367 <constant>GL_INVALID_OPERATION
</constant> is generated if
368 <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE
</constant> is queried on texture images with an
369 uncompressed internal format or on proxy targets.
372 <refsect1 id=
"seealso"><title>See Also
</title>
374 <citerefentry><refentrytitle>glActiveTexture
</refentrytitle></citerefentry>,
375 <citerefentry><refentrytitle>glGetTexParameter
</refentrytitle></citerefentry>,
376 <citerefentry><refentrytitle>glCopyTexImage1D
</refentrytitle></citerefentry>,
377 <citerefentry><refentrytitle>glCopyTexImage2D
</refentrytitle></citerefentry>,
378 <citerefentry><refentrytitle>glCopyTexSubImage1D
</refentrytitle></citerefentry>,
379 <citerefentry><refentrytitle>glCopyTexSubImage2D
</refentrytitle></citerefentry>,
380 <citerefentry><refentrytitle>glCopyTexSubImage3D
</refentrytitle></citerefentry>,
381 <citerefentry><refentrytitle>glTexImage1D
</refentrytitle></citerefentry>,
382 <citerefentry><refentrytitle>glTexImage2D
</refentrytitle></citerefentry>,
383 <citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry>,
384 <citerefentry><refentrytitle>glTexSubImage1D
</refentrytitle></citerefentry>,
385 <citerefentry><refentrytitle>glTexSubImage2D
</refentrytitle></citerefentry>,
386 <citerefentry><refentrytitle>glTexSubImage3D
</refentrytitle></citerefentry>,
387 <citerefentry><refentrytitle>glTexParameter
</refentrytitle></citerefentry>
390 <refsect1 id=
"Copyright"><title>Copyright
</title>
392 Copyright
<trademark class=
"copyright"></trademark> 1991-
2006
393 Silicon Graphics, Inc. Copyright
<trademark class=
"copyright"></trademark> 2010-
2012
394 Khronos Group. This document is licensed under the SGI
395 Free Software B License. For details, see
396 <ulink url=
"http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/
</ulink>.