Specifies a three-dimensional (3D) texture subimage.
OpenGL C bindings library: libGL.a
void glTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
|target||Specifies the target texture. Must be GL_TEXTURE_3D_EXT.|
|level||Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth 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_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_LUMINANCE, and GL_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, and GL_FLOAT.|
|pixels||Specifies a pointer to the image data in memory.|
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_EXT.
The glTexSubImage3DEXT subroutine 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, z indices zoffset and zoffset + depth - 1, inclusize. 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.
Texturing has no effect in color index mode.
The glPixelStore and glPixelTransfer modes affect texture images in exactly the way they affect glDrawPixels.
Format of GL_ABGR_EXT is part of the _extname (EXT_abgr) extension, not part of the core GL command set.
GL_INVALID_ENUM is generated if target is not GL_TEXTURE_3D_EXT.
GL_INVALID_OPERATION is generated if the texture array has not been defined by a previous glTexImage3D operation.
GL_INVALID_VALUE is generated if level is less than zero.
GL_INVALID_VALUE may be generated if level is greater than log2(max), where max is the returned value of GL_MAX_3D_TEXTURE_SIZE_EXT.
GL_INVALID_VALUE is generated if width < -b or if height < -b, or if depth < -b where b is the border width of the texture array.
GL_INVALID_VALUE is generated if xoffset < -b, (xoffset + width) > (w - b), yoffset < -b, (yoffset + height) > (h - b), zoffset < -b, (zoffset + depth) > (d -b). Where w is the GL_TEXTURE_WIDTH, h is the GL_TEXTURE_HEIGHT, d is the GL_TEXTURE_DEPTH_EXT, and b is the border width of the texture image being modified. Note that w, h, and d include twice the border width.
GL_INVALID_ENUM is generated if format is not an accepted format constant.
GL_INVALID_ENUM is generated if type is not a type constant.
GL_INVALID_ENUM is generated if type is GL_BITMAP and format is not GL_COLOR_INDEX.
GL_INVALID_OPERATION is generated if glTexSubImage3DEXT is executed between the execution of glBegin and the corresponding execution of glEnd.
glIsEnabled with argument GL_TEXTURE_3D_EXT
The glDrawPixels subroutine, glFog subroutine, glPixelStore subroutine, glPixelTransfer subroutine, glTexEnv subroutine, glTexGen subroutine, glTexImage3DEXT subroutine, glTexParameter subroutine.