2013
Khronos Group
glGetTexLevelParameter
3G
glGetTexLevelParameter
return texture parameter values for a specific level of detail
C Specification
void glGetTexLevelParameterfv
GLenum target
GLint level
GLenum pname
GLfloat * params
void glGetTexLevelParameteriv
GLenum target
GLint level
GLenum pname
GLint * params
Parameters
target
Specifies the symbolic name of the target texture,
one of
GL_TEXTURE_1D,
GL_TEXTURE_2D,
GL_TEXTURE_3D,
GL_TEXTURE_1D_ARRAY,
GL_TEXTURE_2D_ARRAY,
GL_TEXTURE_RECTANGLE,
GL_TEXTURE_2D_MULTISAMPLE,
GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
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,
GL_PROXY_TEXTURE_1D,
GL_PROXY_TEXTURE_2D,
GL_PROXY_TEXTURE_3D,
GL_PROXY_TEXTURE_1D_ARRAY,
GL_PROXY_TEXTURE_2D_ARRAY,
GL_PROXY_TEXTURE_RECTANGLE,
GL_PROXY_TEXTURE_2D_MULTISAMPLE,
GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
GL_PROXY_TEXTURE_CUBE_MAP, or
GL_TEXTURE_BUFFER.
level
Specifies the level-of-detail number of the desired image.
Level 0 is the base image level.
Level
n
is the
nth
mipmap reduction image.
pname
Specifies the symbolic name of a texture parameter.
GL_TEXTURE_WIDTH,
GL_TEXTURE_HEIGHT,
GL_TEXTURE_DEPTH,
GL_TEXTURE_INTERNAL_FORMAT,
GL_TEXTURE_RED_SIZE,
GL_TEXTURE_GREEN_SIZE,
GL_TEXTURE_BLUE_SIZE,
GL_TEXTURE_ALPHA_SIZE,
GL_TEXTURE_DEPTH_SIZE,
GL_TEXTURE_COMPRESSED,
GL_TEXTURE_COMPRESSED_IMAGE_SIZE, and
GL_TEXTURE_BUFFER_OFFSET
are accepted.
params
Returns the requested data.
Description
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
but a long skinny texture, or a texture without mipmaps 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.
The initial value is 0.
GL_TEXTURE_HEIGHT
params returns a single value,
the height of the texture image.
The initial value is 0.
GL_TEXTURE_DEPTH
params returns a single value,
the depth 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_RED_TYPE,
GL_TEXTURE_GREEN_TYPE,
GL_TEXTURE_BLUE_TYPE,
GL_TEXTURE_ALPHA_TYPE,
GL_TEXTURE_DEPTH_TYPE
The data type used to store the component.
The types GL_NONE, GL_SIGNED_NORMALIZED,
GL_UNSIGNED_NORMALIZED, GL_FLOAT,
GL_INT, and GL_UNSIGNED_INT may be returned
to indicate signed normalized fixed-point, unsigned normalized fixed-point, floating-point, integer unnormalized, and
unsigned integer unnormalized components, respectively.
GL_TEXTURE_RED_SIZE,
GL_TEXTURE_GREEN_SIZE,
GL_TEXTURE_BLUE_SIZE,
GL_TEXTURE_ALPHA_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.
GL_TEXTURE_BUFFER_OFFSET
params returns a single integer value, the offset into the
data store of the buffer bound to a buffer texture.
glTexBufferRange.
GL_TEXTURE_BUFFER_SIZE
params returns a single integer value, the size of the range of a
data store of the buffer bound to a buffer texture.
glTexBufferRange.
Notes
If an error is generated,
no change is made to the contents of params.
glGetTexLevelParameter returns the texture level parameters for the active texture unit.
GL_TEXTURE_BUFFER_OFFSET and GL_TEXTURE_BUFFER_SIZE are available only
if the GL version is 4.3 or greater.
Errors
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
log
2
max,
where max is the returned value of GL_MAX_TEXTURE_SIZE.
GL_INVALID_VALUE is generated if target is GL_TEXTURE_BUFFER
and level is not zero.
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.
See Also
glActiveTexture,
glGetTexParameter,
glCopyTexImage1D,
glCopyTexImage2D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
glTexImage1D,
glTexImage2D,
glTexImage3D,
glTexSubImage1D,
glTexSubImage2D,
glTexSubImage3D,
glTexParameter
Copyright
Copyright 1991-2006
Silicon Graphics, Inc. Copyright 2010-2013
Khronos Group. This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/.