GLTEXSUBIMAGE3D(3G)
GLTEXSUBIMAGE3D(3G) π β¨
okay bestie, you're in the 3G manual page and this is the whole vibe: we're replacing a 3D chunk of an existing 3D texture with new pixel data. no cap, it's giving texture glow-up. π«Ά
πΈ NAME πΈ
glTexSubImage3D β specify a three-dimensional texture subimage. literally that. that's the plot. π
β¨ C SPECIFICATION β¨
this is the exact signature, bestie β do not retype it from memory, that's how you summon bugs π
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 )
π PARAMETERS π
targetβ specifies the target texture. it must beGL_TEXTURE_3D, bestie. no substitutions. πlevelβ specifies the level-of-detail number. level0is the base image level. levelnis the nth mipmap reduction image. slay the pyramid. π₯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_COLOR_INDEX,GL_RED,GL_GREEN,GL_BLUE,GL_ALPHA,GL_RGB,GL_BGR,GL_RGBA,GL_BGRA,GL_LUMINANCE, andGL_LUMINANCE_ALPHA. πtypeβ specifies the data type of the pixel data. the following symbolic values are accepted:GL_UNSIGNED_BYTE,GL_BYTE,GL_BITMAP,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. to enable and disable three-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_3D. π¦
glTexSubImage3D redefines a contiguous subregion of an existing three-dimensional 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. π
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. zero-sized and iconic, but functionally just vibes. π
β NOTES β
glTexSubImage3Dis available only if the GL version is1.2or greater. periodt.- texturing has no effect in color index mode.
glPixelStoreandglPixelTransfermodes affect texture images in exactly the way they affectglDrawPixels.- formats
GL_BGR, andGL_BGRAand typesGL_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_REVare available only if the GL version is1.2or greater. π - when the
GL_ARB_multitextureextension is supported,glTexSubImage3Dspecifies a three-dimensional sub texture for the current texture unit, specified withglActiveTextureARB. - when the
GL_ARB_imagingextension is supported, the RGBA components specified inpixelsmay be processed by the imaging pipeline. seeglTexImage3Dfor specific details.
π ERRORS π
GL_INVALID_ENUMis generated iftargetis notGL_TEXTURE_3D.GL_INVALID_OPERATIONis generated if the texture array has not been defined by a previousglTexImage3Doperation.GL_INVALID_VALUEis generated iflevelis less than0.GL_INVALID_VALUEmay be generated iflevelis greater thanlog2max, wheremaxis the returned value ofGL_MAX_TEXTURE_SIZE.GL_INVALID_VALUEis generated ifxoffset<βb,(xoffset+width)>(wβb),yoffset<βb, or(yoffset+height)>(hβb), orzoffset<βb, or(zoffset+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_VALUEis generated ifwidth,height, ordepthis less than0.GL_INVALID_ENUMis generated ifformatis not an accepted constant.GL_INVALID_ENUMis generated iftypeis not a type constant.GL_INVALID_ENUMis generated iftypeisGL_BITMAPandformatis notGL_COLOR_INDEX.GL_INVALID_OPERATIONis generated ifglTexSubImage3Dis executed between the execution ofglBeginand the corresponding execution ofglEnd.GL_INVALID_OPERATIONis 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_OPERATIONis 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.
π ASSOCIATED GETS π
glGetTexImageglIsEnabledwith argumentGL_TEXTURE_3D
π SEE ALSO π
glActiveTextureARB(3G)glCopyTexImage1D(3G)glCopyTexImage2D(3G)glCopyTexSubImage1D(3G)glCopyTexSubImage2D(3G)glCopyTexSubImage3D(3G)glDrawPixels(3G)glPixelStore(3G)glPixelTransfer(3G)glTexEnv(3G)glTexGen(3G)glTexImage1D(3G)glTexImage2D(3G)glTexImage3D(3G)glTexSubImage1D(3G)glTexSubImage2D(3G)glTexParameter(3G)
okay that's the whole page, bestie π the footer/source-version-date slot on this one is just the page sign-off GLTEXSUBIMAGE3D(3G) β no separate source/version or date text is shown, so we're not inventing one. and that's the cute little end of the manual. β¨π
π«Ά
π¦ where this page comes from
- opensuse-leap 16.0: Mesa-libGL-devel 24.1.7-160000.3.1 Β· MIT
- opensuse-leap 16.0: Mesa-libGL-devel 24.3.3-160000.3.1 Β· MIT
- opensuse-leap 16.0: Mesa-libGL-devel 24.3.3-160000.3.1 Β· MIT
- opensuse-leap 16.0: Mesa-libGL-devel 24.3.3-160000.3.1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms