glCopyTexSubImage3DEXT: copy pixels into a 3D texture subimage.
C Specification |
Parameters |
Description |
Notes |
Errors |
Associated Gets |
See Also
void glCopyTexSubImage3DEXT(
GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLint x,
GLint y,
GLsizei width,
GLsizei height)
- target
- The target texture. Must be GL_TEXTURE_3D_EXT.
- level
- The level-of-detail number. Level 0 is the base image level, and level
n is the nth mipmap reduction image.
- xoffset
- Texel offset in the X direction within the texture array.
- yoffset
- Texel offset in the Y direction within the texture array.
- zoffset
- Texel offset in the Z direction within the texture array.
- x
- The X coordinate of the lower-left corner of the pixel rectangle to be
transferred to the texture array.
- y
- The Y coordinate of the lower-left corner of the pixel rectangle to be
transferred to the texture array.
- width
- The width of the texture subimage.
- height
- The height of the texture subimage.
glCopyTexSubImage3DEXT replaces a rectangular portion of a
three-dimensional texture image with pixels from the current
GL_READ_BUFFER (rather than from main memory, as is the case
for glTexSubImage3DEXT).
The screen-aligned pixel rectangle with lower-left corner at
(x, y) having width
width and height height replaces the
rectangular area of the S-T slice located at zoffset with X
indices xoffset through xoffset +
width 1,
inclusive, and Y indices yoffset through
yoffset + height 1, inclusive.
The destination rectangle in the texture array may not include any texels
outside 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.
The pixels in the rectangle are processed exactly as if glCopyPixels had been called, but the
process stops just before final conversion. At this point all pixel component
values are clamped to the range [0, 1] and then converted to the
texture's internal format for storage in the texel array.
If any of the pixels within the specified rectangle of the current
GL_READ_BUFFER are outside the read window associated with the
current rendering context, then the values obtained for those pixels are
undefined.
glCopyTexSubImage3DEXT is part of the
EXT_copy_texture extension.
- GL_INVALID_ENUM is generated when target
is not one of the allowable values.
- GL_INVALID_VALUE is generated if level is
less than zero or greater than log2max, where max
is the returned value of GL_MAX_TEXTURE_SIZE.
- GL_INVALID_VALUE is generated if
xoffset < TEXTURE_BORDER,
(xoffset + width) >
(TEXTURE_WIDTH
TEXTURE_BORDER), yoffset <
TEXTURE_BORDER, or if
zoffset < TEXTURE_BORDER, where
TEXTURE_WIDTH, TEXTURE_HEIGHT, and
TEXTURE_BORDER are the state values of the texture image
being modified, and interlace is 1 if GL_INTERLACE_SGIX is
disabled, and 2 otherwise. Note that TEXTURE_WIDTH and
TEXTURE_HEIGHT include twice the border width.
- GL_INVALID_VALUE is generated if width or
height is negative.
- GL_INVALID_OPERATION is generated when the texture array
has not been defined by a previous glTexImage3D (or equivalent)
operation.
- GL_INVALID_OPERATION is generated if
glCopyTexSubImage3DEXT is executed between the execution of glBegin and the corresponding execution
of glEnd.
glGetTexImage
glTexImage3D,
glTexSubImage3DEXT,
glCopyPixels.