T
glTexSubImage3DEXT
Description
Texturing maps a portion of a specified texture image onto each graphical primitive for
which texturing is enabled. Three-dimensional texturing is enabled and disabled using
glEnable and glDisable with argument GL_TEXTURE_3D_EXT.
glTexSubImage3DEXT 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.
Notes
Texturing has no effect in color index mode.
glPixelStore and glPixelTransfer modes affect texture images in exactly the way they
affect glDrawPixels.
Errors
•
•
•
•
•
•
•
•
Associated Gets
glGetTexImage
glIsEnabled with argument GL_TEXTURE_3D_EXT
462
GL_INVALID_ENUM is generated when target is not GL_TEXTURE_3D_EXT.
GL_INVALID_OPERATION is generated when the texture array has not been
defined by a previous glTexImage3D operation.
GL_INVALID_VALUE is generated if level is less than zero or greater than log
where max is the returned value of GL_MAX_3D_TEXTURE_SIZE_EXT.
GL_INVALID_VALUE is generated if xoffset <TEXTURE_BORDER, (xoffset +
width) > (TEXTURE_WIDTH TEXTURE_BORDER), yoffset <
TEXTURE_BORDER, zoffset < TEXTURE_BORDER, or (zoffset + depth) >
(TEXTURE_DEPTH_EXT TEXTURE_BORDER), where TEXTURE_WIDTH,
TEXTURE_HEIGHT, TEXTURE_DEPTH_EXT and TEXTURE_BORDER are the
state values of the texture image being modified. Note that TEXTURE_WIDTH,
TEXTURE_HEIGHT and TEXTURE_DEPTH_EXT include twice the border width.
GL_INVALID_ENUM is generated when format is not an accepted format constant.
GL_INVALID_ENUM is generated when 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.
max,
2
Chapter 18