NAME¶
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_BORDER, GL_TEXTURE_RED_SIZE,
GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE,
GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_DEPTH_SIZE,
GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE 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 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_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().
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.
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 Khronos
Group. This document is licensed under the SGI Free Software B License. For
details, see
http://oss.sgi.com/projects/FreeB/.