GLTEXSUBIMAGE3D(3G)
π GLTEXSUBIMAGE3D(3G) β bestie edition π
okay so welcome to the GLTEXSUBIMAGE3D(3G) glow-up π
this is the manual page for glTexSubImage3D, glTextureSubImage3D, and yes we are gonna get into every single detail, no cap.
πΈ NAME πΈ
glTexSubImage3D, glTextureSubImage3D β specify a three-dimensional texture subimage β¨
β¨ C SPECIFICATION β¨
void glTexSubImage3D(GLenum target, GLint level, GLint xoffset,
GLint yoffset, GLint zoffset, GLsizei width,
GLsizei height, GLsizei depth, GLenum format,
GLenum type, const GLvoid * pixels);
void glTextureSubImage3D(GLuint texture, GLint level, GLint xoffset,
GLint yoffset, GLint zoffset, GLsizei width,
GLsizei height, GLsizei depth, GLenum format,
GLenum type, const void *pixels);
π PARAMETERS π
targetβ specifies the target to which the texture is bound forglTexSubImage3D. Must beGL_TEXTURE_3DorGL_TEXTURE_2D_ARRAY.textureβ specifies the texture object name forglTextureSubImage3D. The effective target oftexturemust be one of the valid target values above.levelβ specifies the level-of-detail number. Level 0 is the base image level. Level n is the *n*th mipmap reduction image.xoffsetβ specifies a texel offset in the x direction within the texture array.yoffsetβ specifies a texel offset in the y direction within the texture array.zoffsetβ specifies a texel offset in the z direction within the texture array.widthβ specifies the width of the texture subimage.heightβ specifies the height of the texture subimage.depthβ specifies the depth of the texture subimage.formatβ specifies the format of the pixel data. The following symbolic values are accepted:GL_RED,GL_RG,GL_RGB,GL_BGR,GL_RGBA,GL_DEPTH_COMPONENT, andGL_STENCIL_INDEX.typeβ specifies the data type of the pixel data. The following symbolic values are accepted:GL_UNSIGNED_BYTE,GL_BYTE,GL_UNSIGNED_SHORT,GL_SHORT,GL_UNSIGNED_INT,GL_INT,GL_FLOAT,GL_UNSIGNED_BYTE_3_3_2,GL_UNSIGNED_BYTE_2_3_3_REV,GL_UNSIGNED_SHORT_5_6_5,GL_UNSIGNED_SHORT_5_6_5_REV,GL_UNSIGNED_SHORT_4_4_4_4,GL_UNSIGNED_SHORT_4_4_4_4_REV,GL_UNSIGNED_SHORT_5_5_5_1,GL_UNSIGNED_SHORT_1_5_5_5_REV,GL_UNSIGNED_INT_8_8_8_8,GL_UNSIGNED_INT_8_8_8_8_REV,GL_UNSIGNED_INT_10_10_10_2, andGL_UNSIGNED_INT_2_10_10_10_REV.pixelsβ specifies a pointer to the image data in memory.
π¦ DESCRIPTION π¦
Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. yes bestie, thatβs the whole texture-on-shape situation π
glTexSubImage3D and glTextureSubImage3D redefine a contiguous subregion of an existing three-dimensional or two-dimensional array texture image. The texels referenced by pixels replace the portion of the existing texture array with x indices xoffset and xoffset + width - 1, inclusive, y indices yoffset and yoffset + height - 1, inclusive, and z indices zoffset and zoffset + depth - 1, inclusive. For three-dimensional textures, the z index refers to the third dimension. For two-dimensional array textures, the z index refers to the slice index. This region may not include any texels outside the range of the texture array as it was originally specified. It is not an error to specify a subtexture with zero width, height, or depth, but such a specification has no effect.
If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer()) while a texture image is specified, pixels is treated as a byte offset into the buffer object's data store. π
π NOTES π
The glPixelStore() modes affect texture images.
glTexSubImage3D and glTextureSubImage3D specify a three-dimensional or two-dimensional array subtexture for the current texture unit, specified with glActiveTexture().
GL_STENCIL_INDEX is accepted for format only if the GL version is 4.4 or higher. periodt.
π ERRORS π
GL_INVALID_ENUMβ generated iftargetor the effective target oftextureis notGL_TEXTURE_3DorGL_TEXTURE_2D_ARRAY.GL_INVALID_OPERATIONβ generated byglTextureSubImage3Diftextureis not the name of an existing texture object.GL_INVALID_ENUMβ generated ifformatis not an accepted format constant.GL_INVALID_ENUMβ generated iftypeis not a type constant.GL_INVALID_VALUEβ generated iflevelis less than 0.GL_INVALID_VALUEβ may be generated iflevelis greater thanlog 2 max, wheremaxis the returned value ofGL_MAX_TEXTURE_SIZE.GL_INVALID_VALUEβ generated ifxoffset < - b,xoffset + width > w - b,yoffset < - b, oryoffset + height > h - b, orzoffset < - b, orzoffset + depth > d - b, wherewis theGL_TEXTURE_WIDTH,his theGL_TEXTURE_HEIGHT,dis theGL_TEXTURE_DEPTHandbis the border width of the texture image being modified. Note thatw,h, anddinclude twice the border width.GL_INVALID_VALUEβ generated ifwidth,height, ordepthis less than 0.GL_INVALID_OPERATIONβ generated if the texture array has not been defined by a previousglTexImage3D()orglTexStorage3D()operation.GL_INVALID_OPERATIONβ generated iftypeis one ofGL_UNSIGNED_BYTE_3_3_2,GL_UNSIGNED_BYTE_2_3_3_REV,GL_UNSIGNED_SHORT_5_6_5, orGL_UNSIGNED_SHORT_5_6_5_REVandformatis notGL_RGB.GL_INVALID_OPERATIONβ generated iftypeis one ofGL_UNSIGNED_SHORT_4_4_4_4,GL_UNSIGNED_SHORT_4_4_4_4_REV,GL_UNSIGNED_SHORT_5_5_5_1,GL_UNSIGNED_SHORT_1_5_5_5_REV,GL_UNSIGNED_INT_8_8_8_8,GL_UNSIGNED_INT_8_8_8_8_REV,GL_UNSIGNED_INT_10_10_10_2, orGL_UNSIGNED_INT_2_10_10_10_REVandformatis neitherGL_RGBAnorGL_BGRA.GL_INVALID_OPERATIONβ generated ifformatisGL_STENCIL_INDEXand the base internal format is notGL_STENCIL_INDEX.GL_INVALID_OPERATIONβ generated if a non-zero buffer object name is bound to theGL_PIXEL_UNPACK_BUFFERtarget and the buffer object's data store is currently mapped.GL_INVALID_OPERATIONβ generated if a non-zero buffer object name is bound to theGL_PIXEL_UNPACK_BUFFERtarget and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size.GL_INVALID_OPERATIONβ generated if a non-zero buffer object name is bound to theGL_PIXEL_UNPACK_BUFFERtarget andpixelsis not evenly divisible into the number of bytes needed to store in memory a datum indicated bytype.
π ASSOCIATED GETS π
glGetTexImage()glGet()with argumentGL_PIXEL_UNPACK_BUFFER_BINDING
ποΈ VERSION SUPPORT ποΈ
The support grid has OpenGL Version columns 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 Function / Feature Name:
glTexSubImage3Dββin2.0,2.1,3.0,3.1,3.2,3.3,4.0,4.1,4.2,4.3,4.4, and4.5. she ate every single one πglTextureSubImage3Dβ-in2.0,2.1,3.0,3.1,3.2,3.3,4.0,4.1,4.2,4.3, and4.4;βin4.5. itβs giving βonly 4.5, bestie.β
π SEE ALSO π
glActiveTexture(),glCopyTexImage1D(),glCopyTexImage2D(),glCopyTexSubImage1D(),glCopyTexSubImage2D(),glCopyTexSubImage3D(),glPixelStore(),glTexImage1D(),glTexImage2D(),glTexImage3D(),glTexSubImage1D(),glTexSubImage2D(),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 (the encore) π
Copyright Β© 1991-2006 Silicon Graphics, Inc.
Copyright Β© 2010-2014 Khronos Group
okay thatβs the whole page, bestie β footer vibes: source/version note [FIXME: source], dated 08/09/2021, manual page GLTEXSUBIMAGE3D(3G). π«Άβ¨π
π¦ where this page comes from
- centos-stream 9: gl-manpages 1.1-24.20190306.el9 Β· MIT and Open Publication
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms