table of contents
GLGETTEXLEVELPARAMET(3G) | [FIXME: manual] | GLGETTEXLEVELPARAMET(3G) |
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);
void glGetTextureLevelParameterfv(GLuint texture, GLint level, GLenum pname, GLfloat *params);
void glGetTextureLevelParameteriv(GLuint texture, GLint level, GLenum pname, GLint *params);
PARAMETERS¶
target
texture
level
pname
params
DESCRIPTION¶
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
GL_TEXTURE_HEIGHT
GL_TEXTURE_DEPTH
GL_TEXTURE_INTERNAL_FORMAT
GL_TEXTURE_RED_TYPE, GL_TEXTURE_GREEN_TYPE, GL_TEXTURE_BLUE_TYPE, GL_TEXTURE_ALPHA_TYPE, GL_TEXTURE_DEPTH_TYPE
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_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 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.
VERSION SUPPORT¶
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 | - | - | - | - | - | - | - | - | - | - | - | ✔ |
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-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.
COPYRIGHT¶
Copyright © 2014 Khronos Group
04/12/2021 | [FIXME: source] |