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,
47 either
<constant>GL_TEXTURE_1D
</constant>,
<constant>GL_TEXTURE_2D
</constant>,
<constant>GL_TEXTURE_3D
</constant>,
48 <constant>GL_PROXY_TEXTURE_1D
</constant>,
<constant>GL_PROXY_TEXTURE_2D
</constant>,
49 <constant>GL_PROXY_TEXTURE_3D
</constant>,
50 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X
</constant>,
51 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X
</constant>,
52 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y
</constant>,
53 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
</constant>,
54 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z
</constant>,
55 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
</constant>, or
56 <constant>GL_PROXY_TEXTURE_CUBE_MAP
</constant>.
61 <term><parameter>level
</parameter></term>
64 Specifies the level-of-detail number of the desired image.
65 Level
0 is the base image level.
67 <inlineequation><mml:math><mml:mi mathvariant=
"italic">n
</mml:mi></mml:math></inlineequation>
69 <inlineequation><mml:math><mml:mi mathvariant=
"italic">n
</mml:mi></mml:math></inlineequation>th
70 mipmap reduction image.
75 <term><parameter>pname
</parameter></term>
78 Specifies the symbolic name of a texture parameter.
79 <constant>GL_TEXTURE_WIDTH
</constant>,
80 <constant>GL_TEXTURE_HEIGHT
</constant>,
81 <constant>GL_TEXTURE_DEPTH
</constant>,
82 <constant>GL_TEXTURE_INTERNAL_FORMAT
</constant>,
83 <constant>GL_TEXTURE_BORDER
</constant>,
84 <constant>GL_TEXTURE_RED_SIZE
</constant>,
85 <constant>GL_TEXTURE_GREEN_SIZE
</constant>,
86 <constant>GL_TEXTURE_BLUE_SIZE
</constant>,
87 <constant>GL_TEXTURE_ALPHA_SIZE
</constant>,
88 <constant>GL_TEXTURE_LUMINANCE_SIZE
</constant>,
89 <constant>GL_TEXTURE_INTENSITY_SIZE
</constant>,
90 <constant>GL_TEXTURE_DEPTH_SIZE
</constant>,
91 <constant>GL_TEXTURE_COMPRESSED
</constant>, and
92 <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE
</constant>
98 <term><parameter>params
</parameter></term>
101 Returns the requested data.
107 <refsect1 id=
"description"><title>Description
</title>
109 <function>glGetTexLevelParameter
</function> returns in
<parameter>params
</parameter> texture parameter values for a specific
110 level-of-detail value,
111 specified as
<parameter>level
</parameter>.
112 <parameter>target
</parameter> defines the target texture,
113 either
<constant>GL_TEXTURE_1D
</constant>,
<constant>GL_TEXTURE_2D
</constant>,
<constant>GL_TEXTURE_3D
</constant>,
114 <constant>GL_PROXY_TEXTURE_1D
</constant>,
115 <constant>GL_PROXY_TEXTURE_2D
</constant>,
116 <constant>GL_PROXY_TEXTURE_3D
</constant>,
117 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X
</constant>,
118 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X
</constant>,
119 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y
</constant>,
120 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
</constant>,
121 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z
</constant>,
122 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
</constant>, or
123 <constant>GL_PROXY_TEXTURE_CUBE_MAP
</constant>.
126 <constant>GL_MAX_TEXTURE_SIZE
</constant>, and
<constant>GL_MAX_3D_TEXTURE_SIZE
</constant> are not really
128 It has to report the largest square texture image that can be
129 accommodated with mipmaps and borders,
130 but a long skinny texture, or a texture without mipmaps and borders, may
131 easily fit in texture memory.
132 The proxy targets allow the user to more accurately query
133 whether the GL can accommodate a texture of a given configuration.
134 If the texture cannot be accommodated, the texture state variables, which
135 may be queried with
<function>glGetTexLevelParameter
</function>, are set to
0. If the texture can be accommodated,
136 the texture state values will be set as they would be set for a
140 <parameter>pname
</parameter> specifies the texture parameter whose value or values
144 The accepted parameter names are as follows:
148 <term><constant>GL_TEXTURE_WIDTH
</constant></term>
153 <parameter>params
</parameter> returns a single value,
154 the width of the texture image.
155 This value includes the border of the texture image. The initial value is
161 <term><constant>GL_TEXTURE_HEIGHT
</constant></term>
166 <parameter>params
</parameter> returns a single value,
167 the height of the texture image.
168 This value includes the border of the texture image. The initial value is
174 <term><constant>GL_TEXTURE_DEPTH
</constant></term>
179 <parameter>params
</parameter> returns a single value,
180 the depth of the texture image.
181 This value includes the border of the texture image. The initial value is
187 <term><constant>GL_TEXTURE_INTERNAL_FORMAT
</constant></term>
192 <parameter>params
</parameter> returns a single value,
193 the internal format of the texture image.
198 <term><constant>GL_TEXTURE_BORDER
</constant></term>
203 <parameter>params
</parameter> returns a single value,
204 the width in pixels of the border of the texture image. The initial value
210 <term><constant>GL_TEXTURE_RED_SIZE
</constant>,
</term>
215 <term><constant>GL_TEXTURE_GREEN_SIZE
</constant>,
</term>
220 <term><constant>GL_TEXTURE_BLUE_SIZE
</constant>,
</term>
225 <term><constant>GL_TEXTURE_ALPHA_SIZE
</constant>,
</term>
230 <term><constant>GL_TEXTURE_LUMINANCE_SIZE
</constant>,
</term>
235 <term><constant>GL_TEXTURE_INTENSITY_SIZE
</constant>,
</term>
240 <term><constant>GL_TEXTURE_DEPTH_SIZE
</constant></term>
245 The internal storage resolution of an individual component.
246 The resolution chosen by the GL will be a close match for the resolution
247 requested by the user with the component argument of
<citerefentry><refentrytitle>glTexImage1D
</refentrytitle></citerefentry>,
248 <citerefentry><refentrytitle>glTexImage2D
</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glCopyTexImage1D
</refentrytitle></citerefentry>, and
249 <citerefentry><refentrytitle>glCopyTexImage2D
</refentrytitle></citerefentry>. The initial value is
0.
254 <term><constant>GL_TEXTURE_COMPRESSED
</constant></term>
259 <parameter>params
</parameter> returns a single boolean value indicating if the texture image is
260 stored in a compressed internal format. The initiali value is
<constant>GL_FALSE
</constant>.
265 <term><constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE
</constant></term>
270 <parameter>params
</parameter> returns a single integer value, the number of unsigned bytes of the
271 compressed texture image that would be returned from
272 <citerefentry><refentrytitle>glGetCompressedTexImage
</refentrytitle></citerefentry>.
278 <refsect1 id=
"notes"><title>Notes
</title>
280 If an error is generated,
281 no change is made to the contents of
<parameter>params
</parameter>.
284 <constant>GL_TEXTURE_INTERNAL_FORMAT
</constant> is available only if the GL version is
285 1.1 or greater. In version
1.0, use
<constant>GL_TEXTURE_COMPONENTS
</constant>
289 <constant>GL_PROXY_TEXTURE_1D
</constant> and
<constant>GL_PROXY_TEXTURE_2D
</constant> are
290 available only if the GL version is
1.1 or greater.
293 <constant>GL_TEXTURE_3D
</constant>,
<constant>GL_PROXY_TEXTURE_3D
</constant>, and
<constant>GL_TEXTURE_DEPTH
</constant>
294 are available only if the GL version is
1.2 or greater.
297 <constant>GL_TEXTURE_COMPRESSED
</constant>,
298 <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE
</constant>,
299 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X
</constant>,
300 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X
</constant>,
301 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y
</constant>,
302 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
</constant>,
303 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z
</constant>,
304 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
</constant>, and
305 <constant>GL_PROXY_TEXTURE_CUBE_MAP
</constant> are available only if the GL version is
1.3
309 For OpenGL versions
1.3 and greater, or when the
<code>ARB_multitexture
</code> extension is supported,
<function>glGetTexLevelParameter
</function> returns
310 the texture level parameters for the active texture unit.
313 <refsect1 id=
"errors"><title>Errors
</title>
315 <constant>GL_INVALID_ENUM
</constant> is generated if
<parameter>target
</parameter> or
<parameter>pname
</parameter> is not an
319 <constant>GL_INVALID_VALUE
</constant> is generated if
<parameter>level
</parameter> is less than
0.
322 <constant>GL_INVALID_VALUE
</constant> may be generated if
<parameter>level
</parameter> is greater
324 <inlineequation><mml:math>
325 <!-- eqn: log sub 2:-->
326 <mml:msub><mml:mi mathvariant=
"italic">log
</mml:mi>
329 </mml:math></inlineequation>
330 <emphasis>max
</emphasis>,
331 where
<emphasis>max
</emphasis> is the returned value of
<constant>GL_MAX_TEXTURE_SIZE
</constant>.
334 <constant>GL_INVALID_OPERATION
</constant> is generated if
<function>glGetTexLevelParameter
</function>
335 is executed between the execution of
<citerefentry><refentrytitle>glBegin
</refentrytitle></citerefentry>
336 and the corresponding execution of
<citerefentry><refentrytitle>glEnd
</refentrytitle></citerefentry>.
339 <constant>GL_INVALID_OPERATION
</constant> is generated if
340 <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE
</constant> is queried on texture images with an
341 uncompressed internal format or on proxy targets.
344 <refsect1 id=
"seealso"><title>See Also
</title>
346 <citerefentry><refentrytitle>glActiveTexture
</refentrytitle></citerefentry>,
347 <citerefentry><refentrytitle>glGetTexParameter
</refentrytitle></citerefentry>,
348 <citerefentry><refentrytitle>glCopyTexImage1D
</refentrytitle></citerefentry>,
349 <citerefentry><refentrytitle>glCopyTexImage2D
</refentrytitle></citerefentry>,
350 <citerefentry><refentrytitle>glCopyTexSubImage1D
</refentrytitle></citerefentry>,
351 <citerefentry><refentrytitle>glCopyTexSubImage2D
</refentrytitle></citerefentry>,
352 <citerefentry><refentrytitle>glCopyTexSubImage3D
</refentrytitle></citerefentry>,
353 <citerefentry><refentrytitle>glTexEnv
</refentrytitle></citerefentry>,
354 <citerefentry><refentrytitle>glTexGen
</refentrytitle></citerefentry>,
355 <citerefentry><refentrytitle>glTexImage1D
</refentrytitle></citerefentry>,
356 <citerefentry><refentrytitle>glTexImage2D
</refentrytitle></citerefentry>,
357 <citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry>,
358 <citerefentry><refentrytitle>glTexSubImage1D
</refentrytitle></citerefentry>,
359 <citerefentry><refentrytitle>glTexSubImage2D
</refentrytitle></citerefentry>,
360 <citerefentry><refentrytitle>glTexSubImage3D
</refentrytitle></citerefentry>,
361 <citerefentry><refentrytitle>glTexParameter
</refentrytitle></citerefentry>
364 <refsect1 id=
"Copyright"><title>Copyright
</title>
366 Copyright
<trademark class=
"copyright"></trademark> 1991-
2006
367 Silicon Graphics, Inc. This document is licensed under the SGI
368 Free Software B License. For details, see
369 <ulink url=
"http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/
</ulink>.