glCopyTexImage2D: copy pixels into a 2D texture image.
C Specification |
Parameters |
Description |
Notes |
Errors |
Associated Gets |
See Also
void glCopyTexImage2D(
GLenum target,
GLint level,
GLenum internalFormat,
GLint x,
GLint y,
GLsizei width,
GLsizei height,
GLint border)
- 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.
- internalFormat
- Specifies the internal format of the texture. Must be one of the
following symbolic constants: GL_ALPHA,
GL_ALPHA4, GL_ALPHA8,
GL_ALPHA12, GL_ALPHA16,
GL_LUMINANCE, GL_LUMINANCE4,
GL_LUMINANCE8, GL_LUMINANCE12,
GL_LUMINANCE16, GL_LUMINANCE_ALPHA,
GL_LUMINANCE4_ALPHA4,
GL_LUMINANCE6_ALPHA2,
GL_LUMINANCE8_ALPHA8,
GL_LUMINANCE12_ALPHA4,
GL_LUMINANCE12_ALPHA12,
GL_LUMINANCE16_ALPHA16, GL_INTENSITY,
GL_INTENSITY4, GL_INTENSITY8,
GL_INTENSITY12, GL_INTENSITY16,
GL_RGB, GL_R3_G3_B2,
GL_RGB4, GL_RGB5, GL_RGB8,
GL_RGB10, GL_RGB12,
GL_RGB16, GL_RGBA,
GL_RGBA2, GL_RGBA4,
GL_RGB5_A1, GL_RGBA8,
GL_RGB10_A2, GL_RGBA12, or
GL_RGBA16. Additionally,
internalFormat may be one of the symbolic constants
GL_DEPTH_COMPONENT,
GL_DEPTH_COMPONENT16_EXT,
GL_DEPTH_COMPONENT24_EXT, or
GL_DEPTH_COMPONENT32_EXT.
- x, y
- Specify the window coordinates of the lower left corner of the rectangular
region of pixels to be copied.
- width
- Specifies the width of the texture image. Must be 0 or
2n + 2border for some integer n.
- height
- Specifies the height of the texture image. Must be 0 or
2m + 2border for some integer m.
- border
- Specifies the width of the border. Must be either 0 or 1.
glCopyTexImage2D defines a two-dimensional texture image with pixels
from the current GL_READ_BUFFER.
The screen-aligned pixel rectangle with lower left corner at
(x, y) and with a width of
width + 2border and a height of
height + 2border defines the texture array at the mipmap
level specified by level. internalFormat
specifies the internal format of the texture array.
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.
Pixel ordering is such that lower x and y screen coordinates
correspond to lower s and t texture coordinates.
If any of the pixels within the specified rectangle of the current
GL_READ_BUFFER are outside the window associated with the
current rendering context, then the values obtained for those pixels are
undefined.
glCopyTexImage2D is available only if the GL version is 1.1 or
greater.
Texturing has no effect in color index mode.
1, 2, 3, and 4 are not accepted values for internalFormat.
The GL_DEPTH_COMPONENT,
GL_DEPTH_COMPONENT16_EXT,
GL_DEPTH_COMPONENT24_EXT, and
GL_DEPTH_COMPONENT32_EXT values of
internalFormat may be used.
An image with height or width of 0 indicates a NULL texture.
- GL_INVALID_ENUM is generated if target is
not GL_TEXTURE_2D.
- 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 width or
height is less than 0, greater than
2 + GL_MAX_TEXTURE_SIZE, or if
width or height cannot be represented as
2k + 2border for some integer k.
- GL_INVALID_VALUE is generated if border
is not 0 or 1.
- GL_INVALID_VALUE is generated if
internalFormat is not one of the allowable values.
- GL_INVALID_OPERATION is generated if glCopyTexImage2D is executed
between the execution of glBegin and
the corresponding execution of glEnd.
glGetTexImage
glIsEnabled with argument
GL_TEXTURE_2D
glCopyPixels,
glCopyTexImage1D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glPixelStore,
glPixelTransfer,
glTexEnv,
glTexGen,
glTexImage1D,
glTexImage2D,
glTexSubImage1D,
glTexSubImage2D,
glTexParameter