glTexSubImage2D: specify a two-dimensional texture subimage.
C Specification |
Parameters |
Description |
Notes |
Errors |
Associated Gets |
See Also
void glTexSubImage2D(
GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLsizei width,
GLsizei height,
GLenum format,
GLenum type,
const GLvoid *pixels)
- target
- Specifies the target texture. Must be GL_TEXTURE_2D.
- 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.
- width
- Specifies the width of the texture subimage.
- height
- Specifies the height 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, then 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. 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.
glTexSubImage2D is available only if the GL version is 1.1 or
greater.
Texturing has no effect in color index mode.
The format GL_DEPTH_COMPONENT may
only be used if the GL_EXT_shadow extension is
supported.
glPixelStore and glPixelTransfer modes affect texture
images in exactly the way they affect glDrawPixels.
- GL_INVALID_ENUM is generated if target is
not GL_TEXTURE_2D.
- GL_INVALID_OPERATION is generated if the texture array
has not been defined by a previous glTexImage2D operation.
- GL_INVALID_VALUE is generated if level is
less than 0.
- GL_INVALID_VALUE may be generated if
level is greater than log2
max, where max is the returned
value of GL_MAX_TEXTURE_SIZE.
- GL_INVALID_VALUE is generated if
xoffset < b, (xoffset +
width) > (w b), yoffset < b, or
(yoffset + height) > (h
b), where w
is the GL_TEXTURE_WIDTH, h is the
GL_TEXTURE_HEIGHT, and b is the border width of the
texture image being modified. Note that w and h include
twice the border width.
- GL_INVALID_VALUE is generated if width or
height is less than 0.
- 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 glTexSubImage2D is executed
between the execution of glBegin and
the corresponding execution of glEnd.
glGetTexImage
glIsEnabled with argument
GL_TEXTURE_2D
glCopyTexImage1D,
glCopyTexImage2D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glDrawPixels,
glPixelStore,
glPixelTransfer,
glTexEnv,
glTexGen,
glTexImage1D,
glTexImage2D,
glTexSubImage1D,
glTexParameter