GLGETTEXLEVELPARAMEMachTen Programmer’s MGLGETTEXLEVELPARAMETER()

NAME
glGetTexLevelParameterfv, glGetTexLevelParameteriv -
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 )

delim $$

PARAMETERS
target Specifies the symbolic name of the target texture,
either GL_TEXTURE_1D, GL_TEXTURE_2D,
GL_PROXY_TEXTURE_1D, or GL_PROXY_TEXTURE_2D.

level Specifies the level-of-detail number of the
desired image. Level 0 is the base image level.
Level $n$ is the $n$th mipmap reduction image.

pname Specifies the symbolic name of a texture parame-
ter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT,
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_LUMINANCE_SIZE, and
GL_TEXTURE_INTENSITY_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_PROXY_TEXTURE_1D, or
GL_PROXY_TEXTURE_2D.

GL_MAX_TEXTURE_SIZE is 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 accommo-
date 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 val-
ues will be set as they would be set for a non-proxy tar-
get.

pname specifies the texture parameter whose value or val-
ues 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_INTERNAL_FORMAT
params returns a single value, the internal for-
mat of the texture image.

GL_TEXTURE_BORDER
params returns a single value, the width in pix-
els of the border of the texture image. The ini-
tial value is 0.

GL_TEXTURE_RED_SIZE,

GL_TEXTURE_GREEN_SIZE,

GL_TEXTURE_BLUE_SIZE,

GL_TEXTURE_ALPHA_SIZE,

GL_TEXTURE_LUMINANCE_SIZE,

GL_TEXTURE_INTENSITY_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 glTexIm-
age1D or glTexImage2D. The initial value is 0.

NOTES
If an error is generated, no change is made to the con-
tents of params.

GL_TEXTURE_INTERNAL_FORMAT is only available if the GL
version is 1.1 or greater. In version 1.0, use
GL_TEXTURE_COMPONENTS instead.

GL_PROXY_TEXTURE_1D and GL_PROXY_TEXTURE_2D are only
available if the GL version is 1.1 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 sub 2$ max, where max is the returned value of
GL_MAX_TEXTURE_SIZE.

GL_INVALID_OPERATION is generated if glGetTexLevelParame-
ter is executed between the execution of glBegin and the
corresponding execution of glEnd.

SEE ALSO
glGetTexParameter, glCopyTexImage1D, glCopyTexImage2D,
glCopyTexSubImage1D, glCopyTexSubImage2D, glTexEnv,
glTexGen, glTexImage1D, glTexImage2D, glTexSubImage1D,
glTexSubImage2D,
glTexParameter

MachTen 3