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) ; |
void glGetTextureLevelParameterfv( | GLuint texture, |
GLint level, | |
GLenum pname, | |
GLfloat *params) ; |
void glGetTextureLevelParameteriv( | GLuint texture, |
GLint level, | |
GLenum pname, | |
GLint *params) ; |
target
Specifies the target to which the texture is bound for glGetTexLevelParameterfv
and glGetTexLevelParameteriv
functions. Must be one of the following values: 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
.
texture
Specifies the texture object name for glGetTextureLevelParameterfv
and glGetTextureLevelParameteriv
functions.
level
Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th 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.
glGetTexLevelParameterfv
, glGetTexLevelParameteriv
, glGetTextureLevelParameterfv
and glGetTextureLevelParameteriv
return in params
texture parameter values for a specific level-of-detail value, specified as level
. For the first two functions, 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
. The remaining two take a texture
argument which specifies the name of the texture object.
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
and glGetTextureLevelParameter
, 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.
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.
GL_INVALID_OPERATION
is generated by glGetTextureLevelParameterfv
and glGetTextureLevelParameteriv
functions if texture
is not the name of an existing texture object.
GL_INVALID_ENUM
is generated by glGetTexLevelParameterfv
and glGetTexLevelParameteriv
functions 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 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.
OpenGL Version | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
glGetTexLevelParameterfv | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
glGetTexLevelParameteriv | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
glGetTextureLevelParameterfv | - | - | - | - | - | - | - | - | - | - | - | ✔ |
glGetTextureLevelParameteriv | - | - | - | - | - | - | - | - | - | - | - | ✔ |
glActiveTexture, glGetTexParameter, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter
Copyright © 1991-2006 Silicon Graphics, Inc. Copyright © 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see https://web.archive.org/web/20171022161616/http://oss.sgi.com/projects/FreeB/.