glGetTexLevelParameter — return texture parameter values for a specific level of detail
void glGetTexLevelParameterfv( | GLenum | target, |
GLint | level, | |
GLenum | pname, | |
GLfloat * | params) ; |
void glGetTexLevelParameteriv( | GLenum | target, |
GLint | level, | |
GLenum | pname, | |
GLint * | params) ; |
target
Specifies the symbolic name of the target texture,
either GL_TEXTURE_1D
, GL_TEXTURE_2D
, GL_TEXTURE_3D
,
GL_PROXY_TEXTURE_1D
, GL_PROXY_TEXTURE_2D
,
GL_PROXY_TEXTURE_3D
,
GL_TEXTURE_CUBE_MAP_POSITIVE_X
,
GL_TEXTURE_CUBE_MAP_NEGATIVE_X
,
GL_TEXTURE_CUBE_MAP_POSITIVE_Y
,
GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
,
GL_TEXTURE_CUBE_MAP_POSITIVE_Z
,
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
, or
GL_PROXY_TEXTURE_CUBE_MAP
.
level
Specifies the level-of-detail number of the desired image.
Level 0 is the base image level.
Level
pname
Specifies the symbolic name of a texture parameter.
GL_TEXTURE_WIDTH
,
GL_TEXTURE_HEIGHT
,
GL_TEXTURE_DEPTH
,
GL_TEXTURE_INTERNAL_FORMAT
,
GL_TEXTURE_BORDER
,
GL_TEXTURE_RED_SIZE
,
GL_TEXTURE_GREEN_SIZE
,
GL_TEXTURE_BLUE_SIZE
,
GL_TEXTURE_ALPHA_SIZE
,
GL_TEXTURE_LUMINANCE_SIZE
,
GL_TEXTURE_INTENSITY_SIZE
,
GL_TEXTURE_DEPTH_SIZE
,
GL_TEXTURE_COMPRESSED
, and
GL_TEXTURE_COMPRESSED_IMAGE_SIZE
are accepted.
params
Returns the requested data.
glGetTexLevelParameter
returns in params
texture parameter values for a specific
level-of-detail value,
specified as level
.
target
defines the target texture,
either GL_TEXTURE_1D
, GL_TEXTURE_2D
, GL_TEXTURE_3D
,
GL_PROXY_TEXTURE_1D
,
GL_PROXY_TEXTURE_2D
,
GL_PROXY_TEXTURE_3D
,
GL_TEXTURE_CUBE_MAP_POSITIVE_X
,
GL_TEXTURE_CUBE_MAP_NEGATIVE_X
,
GL_TEXTURE_CUBE_MAP_POSITIVE_Y
,
GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
,
GL_TEXTURE_CUBE_MAP_POSITIVE_Z
,
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
, or
GL_PROXY_TEXTURE_CUBE_MAP
.
GL_MAX_TEXTURE_SIZE
, and GL_MAX_3D_TEXTURE_SIZE
are not really
descriptive enough.
It has to report the largest square texture image that can be
accommodated with mipmaps and borders,
but a long skinny texture, or a texture without mipmaps and borders, may
easily fit in texture memory.
The proxy targets allow the user to more accurately query
whether the GL can accommodate a texture of a given configuration.
If the texture cannot be accommodated, the texture state variables, which
may be queried with glGetTexLevelParameter
, are set to 0. If the texture can be accommodated,
the texture state values will be set as they would be set for a
non-proxy target.
pname
specifies the texture parameter whose value or values
will be returned.
The accepted parameter names are as follows:
GL_TEXTURE_WIDTH
params
returns a single value,
the width of the texture image.
This value includes the border of the texture image. The initial value is
0.
GL_TEXTURE_HEIGHT
params
returns a single value,
the height of the texture image.
This value includes the border of the texture image. The initial value is
0.
GL_TEXTURE_DEPTH
params
returns a single value,
the depth of the texture image.
This value includes the border of the texture image. The initial value is
0.
GL_TEXTURE_INTERNAL_FORMAT
params
returns a single value,
the internal format of the texture image.
GL_TEXTURE_BORDER
params
returns a single value,
the width in pixels of the border of the texture image. The initial value
is 0.
GL_TEXTURE_RED_SIZE
,GL_TEXTURE_GREEN_SIZE
,GL_TEXTURE_BLUE_SIZE
,GL_TEXTURE_ALPHA_SIZE
,GL_TEXTURE_LUMINANCE_SIZE
,GL_TEXTURE_INTENSITY_SIZE
,GL_TEXTURE_DEPTH_SIZE
The internal storage resolution of an individual component. The resolution chosen by the GL will be a close match for the resolution requested by the user with the component argument of glTexImage1D, glTexImage2D, glTexImage3D, glCopyTexImage1D, and glCopyTexImage2D. The initial value is 0.
GL_TEXTURE_COMPRESSED
params
returns a single boolean value indicating if the texture image is
stored in a compressed internal format. The initiali value is GL_FALSE
.
GL_TEXTURE_COMPRESSED_IMAGE_SIZE
params
returns a single integer value, the number of unsigned bytes of the
compressed texture image that would be returned from
glGetCompressedTexImage.
If an error is generated,
no change is made to the contents of params
.
GL_TEXTURE_INTERNAL_FORMAT
is available only if the GL version is
1.1 or greater. In version 1.0, use GL_TEXTURE_COMPONENTS
instead.
GL_PROXY_TEXTURE_1D
and GL_PROXY_TEXTURE_2D
are
available only if the GL version is 1.1 or greater.
GL_TEXTURE_3D
, GL_PROXY_TEXTURE_3D
, and GL_TEXTURE_DEPTH
are available only if the GL version is 1.2 or greater.
GL_TEXTURE_COMPRESSED
,
GL_TEXTURE_COMPRESSED_IMAGE_SIZE
,
GL_TEXTURE_CUBE_MAP_POSITIVE_X
,
GL_TEXTURE_CUBE_MAP_NEGATIVE_X
,
GL_TEXTURE_CUBE_MAP_POSITIVE_Y
,
GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
,
GL_TEXTURE_CUBE_MAP_POSITIVE_Z
,
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
, and
GL_PROXY_TEXTURE_CUBE_MAP
are available only if the GL version is 1.3
or greater.
For OpenGL versions 1.3 and greater, or when the ARB_multitexture
extension is supported, glGetTexLevelParameter
returns
the texture level parameters for the active texture unit.
GL_INVALID_ENUM
is generated if target
or pname
is not an
accepted value.
GL_INVALID_VALUE
is generated if level
is less than 0.
GL_INVALID_VALUE
may be generated if level
is greater
than
GL_MAX_TEXTURE_SIZE
.
GL_INVALID_OPERATION
is generated if glGetTexLevelParameter
is executed between the execution of glBegin
and the corresponding execution of glEnd.
GL_INVALID_OPERATION
is generated if
GL_TEXTURE_COMPRESSED_IMAGE_SIZE
is queried on texture images with an
uncompressed internal format or on proxy targets.
glActiveTexture, glGetTexParameter, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter
Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.