gl.CopyTexImage(level, internalFormat, border, x, y, width[, height])
gl.CopyTexImage() defines a one- or two-dimensional texture image with pixels from the current #GL_READ_BUFFER.
If the optional height argument is omitted, a one-dimensional texture will be defined, otherwise a two-dimensional
texture will be defined.
The screen-aligned pixel rectangle with lower left corner at (x, y) and with a width of width+2*border and a
height of height+2*border defines the texture array at the mipmap level specified by level.
internalformat specifies the internal format of the texture array. See Internal pixel formats for details.
Note that in contrast to gl.TexImage1D() and gl.TexImage2D() the
values 1, 2, 3, and 4 are not supported by the internalFormat parameter with gl.CopyTexImage().
The pixels in the rectangle are processed exactly as if gl.CopyPixels() 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.
Texturing has no effect in color index mode.
An image with height or width of 0 indicates a NULL texture.
Please consult an OpenGL reference manual for more information.
#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 internalformat is not an allowable value.
#GL_INVALID_VALUE is generated if width is less than 0 or greater than 2 + #GL_MAX_TEXTURE_SIZE.
#GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width cannot be represented as 2^n+2*border for some integer value of n.
#GL_INVALID_VALUE is generated if border is not 0 or 1.
#GL_INVALID_OPERATION is generated if gl.CopyTexImage() is executed between the execution of gl.Begin() and the corresponding execution of gl.End()
gl.IsEnabled() with argument #GL_TEXTURE_2D or #GL_TEXTURE_1D