glTexSubImage3DEXT: specify a three-dimensional texture subimage.
C Specification |
Parameters |
Description |
Notes |
Errors |
Associated Gets |
See Also
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.
If the extension GL_EXT_shadow is
supported, the symbolic value GL_DEPTH_COMPONENT is also
accepted.
- 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. 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.
Texturing has no effect in color index mode.
glPixelStore and glPixelTransfer modes affect texture
images in exactly the way they affect glDrawPixels.
- 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 log2max, 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.
glGetTexImage
glIsEnabled with argument
GL_TEXTURE_3D_EXT
glDrawPixels,
glFog,
glPixelStore,
glPixelTransfer,
glTexEnv,
glTexGen,
glTexImage3D,
glTexParameter.