GLGETTEXPARAMETER(3G)

πŸ“¦
version 1.1 Β· 3 versions
, in centos-stream 9

πŸ’… GLGETTEXPARAMETER(3G) β€” return texture parameter values ✨

okay bestie, welcome to the GLGETTEXPARAMETER(3G) page from the [FIXME: manual] set. This is part 1 of 2, and it's giving "texture parameter values, but make it a reference page." No cap, we're keeping every detail. 🫢

🌸 NAME 🌸

glGetTexParameter β€” return texture parameter values

🧾 C SPECIFICATION 🧾

void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat * params);

void glGetTexParameteriv(GLenum target, GLenum pname, GLint * params);

void glGetTexParameterIiv(GLenum target, GLenum pname, GLint * params);

void glGetTexParameterIuiv(GLenum target, GLenum pname,
                           GLuint * params);

void glGetTextureParameterfv(GLuint texture, GLenum pname,
                             GLfloat *params);

void glGetTextureParameteriv(GLuint texture, GLenum pname,
                             GLint *params);

void glGetTextureParameterIiv(GLuint texture, GLenum pname,
                              GLint *params);

void glGetTextureParameterIuiv(GLuint texture, GLenum pname,
                               GLuint *params);

πŸŽ€ PARAMETERS πŸŽ€

  • target β€” tells you which texture target the texture is bound to for glGetTexParameterfv, glGetTexParameteriv, glGetTexParameterIiv, and glGetTexParameterIuiv. The accepted targets are GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP, GL_TEXTURE_RECTANGLE, and GL_TEXTURE_CUBE_MAP_ARRAY.
  • texture β€” the texture object name for glGetTextureParameterfv, glGetTextureParameteriv, glGetTextureParameterIiv, and glGetTextureParameterIuiv. It's literally the texture's name, bestie. πŸͺͺ
  • pname β€” the symbolic name of the texture parameter you're asking about. Accepted values are GL_DEPTH_STENCIL_TEXTURE_MODE, GL_IMAGE_FORMAT_COMPATIBILITY_TYPE, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_TEXTURE_IMMUTABLE_FORMAT, GL_TEXTURE_IMMUTABLE_LEVELS, GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_MAX_LOD, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_SWIZZLE_R, GL_TEXTURE_SWIZZLE_G, GL_TEXTURE_SWIZZLE_B, GL_TEXTURE_SWIZZLE_A, GL_TEXTURE_SWIZZLE_RGBA, GL_TEXTURE_TARGET, GL_TEXTURE_VIEW_MIN_LAYER, GL_TEXTURE_VIEW_MIN_LEVEL, GL_TEXTURE_VIEW_NUM_LAYERS, GL_TEXTURE_VIEW_NUM_LEVELS, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, and GL_TEXTURE_WRAP_R.
  • params β€” where the texture parameter value(s) come back to you. It's the output slot. πŸ“₯

πŸ’– DESCRIPTION πŸ’–

glGetTexParameter and glGetTextureParameter return, in params, the value or values of the texture parameter you asked for with pname. target defines the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_RECTANGLE, GL_TEXTURE_CUBE_MAP, GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_2D_MULTISAMPLE, or GL_TEXTURE_2D_MULTISAMPLE_ARRAY specify one-, two-, or three-dimensional, one-dimensional array, two-dimensional array, rectangle, cube-mapped or cube-mapped array, two-dimensional multisample, or two-dimensional multisample array texturing, respectively. Yes, that sentence is a lot. We survived. πŸ’€

pname accepts the same symbols as glTexParameter(), with the same interpretations:

  • GL_DEPTH_STENCIL_TEXTURE_MODE β€” returns the single-value depth stencil texture mode, a symbolic constant. The initial value is GL_DEPTH_COMPONENT.
  • GL_TEXTURE_MAG_FILTER β€” returns the single-valued texture magnification filter, a symbolic constant. The initial value is GL_LINEAR.
  • GL_TEXTURE_MIN_FILTER β€” returns the single-valued texture minification filter, a symbolic constant. The initial value is GL_NEAREST_MIPMAP_LINEAR.
  • GL_TEXTURE_MIN_LOD β€” returns the single-valued texture minimum level-of-detail value. The initial value is -1000.
  • GL_TEXTURE_MAX_LOD β€” returns the single-valued texture maximum level-of-detail value. The initial value is 1000.
  • GL_TEXTURE_BASE_LEVEL β€” returns the single-valued base texture mipmap level. The initial value is 0.
  • GL_TEXTURE_MAX_LEVEL β€” returns the single-valued maximum texture mipmap array level. The initial value is 1000.
  • GL_TEXTURE_SWIZZLE_R β€” returns the red component swizzle. The initial value is GL_RED.
  • GL_TEXTURE_SWIZZLE_G β€” returns the green component swizzle. The initial value is GL_GREEN.
  • GL_TEXTURE_SWIZZLE_B β€” returns the blue component swizzle. The initial value is GL_BLUE.
  • GL_TEXTURE_SWIZZLE_A β€” returns the alpha component swizzle. The initial value is GL_ALPHA.
  • GL_TEXTURE_SWIZZLE_RGBA β€” returns the component swizzle for all channels in a single query. One query, all the swizzle tea. 🍡
  • GL_TEXTURE_WRAP_S β€” returns the single-valued wrapping function for texture coordinate s, a symbolic constant. The initial value is GL_REPEAT.
  • GL_TEXTURE_WRAP_T β€” returns the single-valued wrapping function for texture coordinate t, a symbolic constant. The initial value is GL_REPEAT.
  • GL_TEXTURE_WRAP_R β€” returns the single-valued wrapping function for texture coordinate r, a symbolic constant. The initial value is GL_REPEAT.
  • GL_TEXTURE_BORDER_COLOR β€” returns four integer or floating-point numbers that comprise the RGBA color of the texture border. Floating-point values are returned in the range 0 to 1. Integer values are returned as a linear mapping of the internal floating-point representation such that 1.0 maps to the most positive representable integer and -1.0 maps to the most negative representable integer. The initial value is (0, 0, 0, 0).
  • GL_TEXTURE_COMPARE_MODE β€” returns a single-valued texture comparison mode, a symbolic constant. The initial value is GL_NONE. See glTexParameter().
  • GL_TEXTURE_COMPARE_FUNC β€” returns a single-valued texture comparison function, a symbolic constant. The initial value is GL_LEQUAL. See glTexParameter().
  • GL_TEXTURE_VIEW_MIN_LEVEL β€” returns a single-valued base level of a texture view relative to its parent. The initial value is 0. See glTextureView().
  • GL_TEXTURE_VIEW_NUM_LEVELS β€” returns a single-valued number of levels of detail of a texture view. See glTextureView().
  • GL_TEXTURE_VIEW_MIN_LAYER β€” returns a single-valued first level of a texture array view relative to its parent. See glTextureView().
  • GL_TEXTURE_VIEW_NUM_LAYERS β€” returns a single-valued number of layers in a texture array view. See glTextureView().
  • GL_TEXTURE_IMMUTABLE_LEVELS β€” returns a single-valued number of immutable texture levels in a texture view. See glTextureView().

In addition to the parameters that may be set with glTexParameter(), glGetTexParameter and glGetTextureParameter accept these read-only parameters:

  • GL_IMAGE_FORMAT_COMPATIBILITY_TYPE β€” returns the matching criteria use for the texture when used as an image texture. It can return GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE, GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS or GL_NONE.
  • GL_TEXTURE_IMMUTABLE_FORMAT β€” returns non-zero if the texture has an immutable format. Textures become immutable if their storage is specified with glTexStorage1D(), glTexStorage2D() or glTexStorage3D(). The initial value is GL_FALSE.
  • GL_TEXTURE_TARGET β€” returns the effective target of the texture object. For glGetTex*Parameter functions, this is the target parameter. For glGetTextureParameter*, it is the target to which the texture was initially bound when it was created, or the value of the target parameter to the call to glCreateTextures which created the texture.

🫢 NOTES 🫢

If an error is generated, no change is made to the contents of params. So your output slot stays exactly as it was. πŸ™ˆ

GL_IMAGE_FORMAT_COMPATIBILITY_TYPE is available only if the GL version is 4.2 or greater.

GL_DEPTH_STENCIL_TEXTURE_MODE, GL_TEXTURE_VIEW_MIN_LEVEL, GL_TEXTURE_VIEW_NUM_LEVELS, GL_TEXTURE_VIEW_MIN_LAYER, GL_TEXTURE_VIEW_NUM_LAYERS and GL_TEXTURE_IMMUTABLE_LEVELS are available only if the GL version is 4.3 or greater.

GL_TEXTURE_TARGET is available only if the GL version is 4.5 or greater.

πŸ’€ ERRORS πŸ’€

  • GL_INVALID_ENUM is generated if pname is not an accepted value.
  • GL_INVALID_ENUM error is generated by glGetTexParameter if the effective target is not one of the accepted texture targets.
  • GL_INVALID_OPERATION is generated by glGetTextureParameter* if texture is not the name of an existing texture object.

✨ VERSION SUPPORT ✨

Okay bestie, this is the vibe check table β€” which functions slay on which OpenGL version. The columns are the OpenGL Version, going 2.0, 2.1, 3.0, 3.1, 3.2, 3.3, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, and the rows are the Function / Feature Name. A βœ” means supported, a - means nope, not invited. πŸ’…

  • glGetTexParameterIiv β€” 2.0: -, 2.1: -, 3.0: βœ”, 3.1: βœ”, 3.2: βœ”, 3.3: βœ”, 4.0: βœ”, 4.1: βœ”, 4.2: βœ”, 4.3: βœ”, 4.4: βœ”, 4.5: βœ”
  • glGetTexParameterIuiv β€” 2.0: -, 2.1: -, 3.0: βœ”, 3.1: βœ”, 3.2: βœ”, 3.3: βœ”, 4.0: βœ”, 4.1: βœ”, 4.2: βœ”, 4.3: βœ”, 4.4: βœ”, 4.5: βœ”
  • glGetTexParameterfv β€” 2.0: βœ”, 2.1: βœ”, 3.0: βœ”, 3.1: βœ”, 3.2: βœ”, 3.3: βœ”, 4.0: βœ”, 4.1: βœ”, 4.2: βœ”, 4.3: βœ”, 4.4: βœ”, 4.5: βœ”
  • glGetTexParameteriv β€” 2.0: βœ”, 2.1: βœ”, 3.0: βœ”, 3.1: βœ”, 3.2: βœ”, 3.3: βœ”, 4.0: βœ”, 4.1: βœ”, 4.2: βœ”, 4.3: βœ”, 4.4: βœ”, 4.5: βœ”
  • glGetTextureParameterIiv β€” 2.0: -, 2.1: -, 3.0: -, 3.1: -, 3.2: -, 3.3: -, 4.0: -, 4.1: -, 4.2: -, 4.3: -, 4.4: -, 4.5: βœ”
  • glGetTextureParameterIuiv β€” 2.0: -, 2.1: -, 3.0: -, 3.1: -, 3.2: -, 3.3: -, 4.0: -, 4.1: -, 4.2: -, 4.3: -, 4.4: -, 4.5: βœ”
  • glGetTextureParameterfv β€” 2.0: -, 2.1: -, 3.0: -, 3.1: -, 3.2: -, 3.3: -, 4.0: -, 4.1: -, 4.2: -, 4.3: -, 4.4: -, 4.5: βœ”
  • glGetTextureParameteriv β€” 2.0: -, 2.1: -, 3.0: -, 3.1: -, 3.2: -, 3.3: -, 4.0: -, 4.1: -, 4.2: -, 4.3: -, 4.4: -, 4.5: βœ”

So like, the glGetTexParameter* girlies have been around since 2.0 (except the integer Iiv/Iuiv variants who showed up in 3.0, late bloomers but we love them), and the glGetTextureParameter* squad is only a 4.5 thing. Main character energy, honestly. πŸ”₯


🌸 SEE ALSO 🌸

Go read these next, bestie, they're the whole friend group:

  • glTexParameter()
  • glTextureParameter, glTexStorage1D(), glTexStorage2D(), glTexStorage3D()
  • glTextureStorage1D
  • glTextureStorage2D
  • glTextureStorage3D, glTextureView()
No cap, that's the exact list. Every single one. Go click through them like a group chat rabbit hole. 🫢

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


Not me listing it twice β€” the original does, so we do too. Periodt.

  • Copyright Β© 1991-2006 Silicon Graphics, Inc.
  • Copyright Β© 2010-2014 Khronos Group

And that's the whole page, bestie! πŸ¦‹ The source is literally <yellow>[FIXME: source]</yellow>, the date is <mint>08/09/2021</mint>, and the manpage tag is <purple>GLGETTEXPARAMETER(3G)</purple>. Iconic. Ate. No crumbs. πŸ’…βœ¨πŸ“

πŸ“¦ where this page comes from