logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

glGetTexLevelParameter - return texture parameter values for a specific level of detail

C Specification

voidglGetTexLevelParameterfv(GLenumtarget,GLintlevel,GLenumpname,GLfloat*params);voidglGetTexLevelParameteriv(GLenumtarget,GLintlevel,GLenumpname,GLint*params);voidglGetTextureLevelParameterfv(GLuinttexture,GLintlevel,GLenumpname,GLfloat*params);voidglGetTextureLevelParameteriv(GLuinttexture,GLintlevel,GLenumpname,GLint*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_WIDTHparams returns a single value, the width of the texture image. The initial value is 0.

       GL_TEXTURE_HEIGHTparams returns a single value, the height of the texture image. The initial value is 0.

       GL_TEXTURE_DEPTHparams returns a single value, the depth of the texture image. The initial value is 0.

       GL_TEXTURE_INTERNAL_FORMATparams 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_COMPRESSEDparams 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_SIZEparams returns a single integer value, the number of unsigned bytes of the compressed texture image
           that would be returned from glGetCompressedTexImage().

       GL_TEXTURE_BUFFER_OFFSETparams returns a single integer value, the offset into the data store of the buffer bound to a buffer
           texture.  glTexBufferRange().

       GL_TEXTURE_BUFFER_SIZEparams returns a single integer value, the size of the range of a data store of the buffer bound to a
           buffer texture.  glTexBufferRange().

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.

Name

       glGetTexLevelParameter - return texture parameter values for a specific level of detail

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.

Parameters

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 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.

See Also

glActiveTexture(), glGetTexParameter(), glCopyTexImage1D(), glCopyTexImage2D(), glCopyTexSubImage1D(),
       glCopyTexSubImage2D(), glCopyTexSubImage3D(), glTexImage1D(), glTexImage2D(), glTexImage3D(),
       glTexSubImage1D(), glTexSubImage2D(), glTexSubImage3D(), glTexParameter()

Version Support

       ┌──────────────────────────────┬───────────────────────────────────────────────────────────────────────┐
       │                              │                OpenGLVersion                                         │
       ├──────────────────────────────┼─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┤
       │ Function2.02.13.03.13.23.34.04.14.24.34.44.5 │
       │ /                            │     │     │     │     │     │     │     │     │     │     │     │     │
       │ Feature                      │     │     │     │     │     │     │     │     │     │     │     │     │
       │ Name                         │     │     │     │     │     │     │     │     │     │     │     │     │
       ├──────────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │ glGetTexLevelParameterfv     │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       ├──────────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │ glGetTexLevelParameteriv     │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       ├──────────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │ glGetTextureLevelParameterfv │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  ✔  │
       ├──────────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │ glGetTextureLevelParameteriv │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  ✔  │
       └──────────────────────────────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

See Also