GLTEXSUBIMAGE2D(3G)
π GLTEXSUBIMAGE2D(3G) π
Bestie, welcome to the GLTEXSUBIMAGE2D(3G) manual page β the one and only glTexSubImage2D glow-up. This is about specifying a two-dimensional texture subimage, and yes, we're gonna get through every single flag together. π
β¨
πΈ NAME πΈ
glTexSubImage2D β specify a two-dimensional texture subimage.
π¦ C SPECIFICATION π¦
void glTexSubImage2D( GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLsizei width,
GLsizei height,
GLenum format,
GLenum type,
const GLvoid *pixels )
π PARAMETERS π
targetβ specifies the target texture. It must beGL_TEXTURE_2D. No side-eyeing other targets, bestie. πlevelβ specifies the level-of-detail number. Level0is the base image level. Levelnis thenth 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.widthβ specifies the width of the texture subimage.heightβ specifies the height of the texture subimage.formatβ specifies the [word omitted in the original page] 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. It's giving "here's the actual pixel tea." π
π§ DESCRIPTION π§
Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable two-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_2D.
glTexSubImage2D redefines a contiguous subregion of an existing two-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, and y indices yoffset and yoffset+heightβ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 or height, but such a specification has no effect.
Lowkey important: that subregion has to stay inside the texture array as it was originally specified. No stretching outside the lines, bestie. π
β¨ NOTES β¨
glTexSubImage2Dis available only if the GL version is1.1or greater.- 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,glTexSubImage2Dspecifies a two-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. SeeglTexImage1Dfor specific details.
π«Ά ERRORS π«Ά
GL_INVALID_ENUMis generated iftargetis notGL_TEXTURE_2D.GL_INVALID_OPERATIONis generated if the texture array has not been defined by a previousglTexImage2Doperation.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), wherewis theGL_TEXTURE_WIDTH,his theGL_TEXTURE_HEIGHT, andbis the border width of the texture image being modified. Note thatwandhinclude twice the border width.GL_INVALID_VALUEis generated ifwidthorheightis 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 ifglTexSubImage2Dis 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_2D
π 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)glTexSubImage3D(3G)glTexParameter(3G)
That's the whole page, bestie β manual/source tag: GLTEXSUBIMAGE2D(3G), and the original footer has no date listed, so we are not inventing one. Periodt. πβ¨π
π¦ 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