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>, and
105 <constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE
</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 and borders,
143 but a long skinny texture, or a texture without mipmaps and borders, 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 This value includes the border of the texture image. The initial value is
174 <term><constant>GL_TEXTURE_HEIGHT
</constant></term>
179 <parameter>params
</parameter> returns a single value,
180 the height of the texture image.
181 This value includes the border of the texture image. The initial value is
187 <term><constant>GL_TEXTURE_DEPTH
</constant></term>
192 <parameter>params
</parameter> returns a single value,
193 the depth of the texture image.
194 This value includes the border of the texture image. The initial value is
200 <term><constant>GL_TEXTURE_INTERNAL_FORMAT
</constant></term>
205 <parameter>params
</parameter> returns a single value,
206 the internal format of the texture image.
211 <term><constant>GL_TEXTURE_RED_TYPE
</constant>,
</term>
216 <term><constant>GL_TEXTURE_GREEN_TYPE
</constant>,
</term>
221 <term><constant>GL_TEXTURE_BLUE_TYPE
</constant>,
</term>
226 <term><constant>GL_TEXTURE_ALPHA_TYPE
</constant>,
</term>
231 <term><constant>GL_TEXTURE_DEPTH_TYPE
</constant></term>
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.
246 <term><constant>GL_TEXTURE_RED_SIZE
</constant>,
</term>
251 <term><constant>GL_TEXTURE_GREEN_SIZE
</constant>,
</term>
256 <term><constant>GL_TEXTURE_BLUE_SIZE
</constant>,
</term>
261 <term><constant>GL_TEXTURE_ALPHA_SIZE
</constant>,
</term>
266 <term><constant>GL_TEXTURE_DEPTH_SIZE
</constant></term>
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.
280 <term><constant>GL_TEXTURE_COMPRESSED
</constant></term>
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>.
291 <term><constant>GL_TEXTURE_COMPRESSED_IMAGE_SIZE
</constant></term>
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>.
304 <refsect1 id=
"notes"><title>Notes
</title>
306 If an error is generated,
307 no change is made to the contents of
<parameter>params
</parameter>.
310 <function>glGetTexLevelParameter
</function> returns 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_VALUE
</constant> is generated if
<parameter>target
</parameter> is
<constant>GL_TEXTURE_BUFFER
</constant>
335 and
<parameter>level
</parameter> is not zero.
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.
343 <refsect1 id=
"seealso"><title>See Also
</title>
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>
361 <refsect1 id=
"Copyright"><title>Copyright
</title>
363 Copyright
<trademark class=
"copyright"></trademark> 1991-
2006
364 Silicon Graphics, Inc. Copyright
<trademark class=
"copyright"></trademark> 2010
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>.