glcopyteximage1dext
- Man Page
glCopyTexImage1DEXT(3G) OpenGL Reference glCopyTexImage1DEXT(3G)
NAME
glCopyTexImage1DEXT - copy pixels into a 1D texture image
C SPECIFICATION
void glCopyTexImage1DEXT( GLenum target,
GLint level,
GLenum internalformat,
GLint x,
GLint y,
GLsizei width,
GLint border )
PARAMETERS
target The target texture. Must be GL_TEXTURE_1D
level The level-of-detail number. Level 0 is the base image
level. Level n is the nth mipmap reduction image.
internalformat The internal storage format of the texture image. Must
be one of the following symbolic constants: GL_ALPHA,
GL_ALPHA4_EXT, GL_ALPHA8_EXT, GL_ALPHA12_EXT,
GL_ALPHA16_EXT, GL_LUMINANCE, GL_LUMINANCE4_EXT,
GL_LUMINANCE8_EXT, GL_LUMINANCE12_EXT,
GL_LUMINANCE16_EXT, GL_LUMINANCE_ALPHA,
GL_LUMINANCE4_ALPHA4_EXT, GL_LUMINANCE6_ALPHA2_EXT,
GL_LUMINANCE8_ALPHA8_EXT, GL_LUMINANCE12_ALPHA4_EXT,
GL_LUMINANCE12_ALPHA12_EXT, GL_LUMINANCE16_ALPHA16_EXT,
GL_INTENSITY_EXT, GL_INTENSITY4_EXT, GL_INTENSITY8_EXT,
GL_INTENSITY12_EXT, GL_INTENSITY16_EXT, GL_RGB,
GL_RGB2_EXT, GL_RGB4_EXT, GL_RGB5_EXT, GL_RGB8_EXT,
GL_RGB10_EXT, GL_RGB12_EXT, GL_RGB16_EXT, GL_RGBA,
GL_RGBA2_EXT, GL_RGBA4_EXT, GL_RGB5_A1_EXT, GL_RGBA8_EXT,
GL_RGB10_A2_EXT, GL_RGBA12_EXT, GL_RGBA16_EXT. (Note
that the values 1, 2, 3, and 4, which are accepted by
glTexImage1D, are not accepted by glCopyTexImage1DEXT.)
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 image.
border The border width of the texture. Must be 0 or 1.
DESCRIPTION
glCopyTexImage1DEXT defines a one-dimensional texture image with pixels
from the current GL_READ_BUFFER (rather than from main memory, as is the
case for glTexImage1D).
Page 1
glCopyTexImage1DEXT(3G) OpenGL Reference glCopyTexImage1DEXT(3G)
The screen-aligned pixel rectangle with lower-left corner at (x, y)
having width width+2*border and height 1 is used to define the texture
array at the mipmap level specified by level. The internal format of the
texture array is selected by internalformat.
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 screen coordinates correspond to
lower i texture coordinates, and lower y screen coordinates correspond to
lower j 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.
NOTES
glCopyTexImage1DEXT is part of the EXT_copy_texture extension. See
glIntro for more information about using extensions.
ERRORS
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
log2(max), where max is the returned value of GL_MAX_TEXTURE_SIZE.
GL_TEXTURE_TOO_LARGE_EXT is generated if the specified image is too
large.
GL_INVALID_VALUE is generated if width is less than zero, greater than
2+GL_MAX_TEXTURE_SIZE, or when width 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 glCopyTexImage1DEXT is executed
between the execution of glBegin and the corresponding execution of
glEnd.
ASSOCIATED GETS
glGetTexImage
Page 2
glCopyTexImage1DEXT(3G) OpenGL Reference glCopyTexImage1DEXT(3G)
MACHINE DEPENDENCIES
glCopyTexImage1DEXT is not supported on RealityEngine, RealityEngine2,
and VTX systems.
On InfiniteReality systems, the width of the image to be transferred to
texture memory must be a multiple of 8. This constraint will be lifted
in a future release, though transfers that are a multiple of 8 in length
will have somewhat higher performance than other transfers.
Texture borders are not supported on InfiniteReality systems. They will
be supported in a future release, however, they will require large
amounts of texture memory. Whenever possible, applications should use
borderless textures and GL_CLAMP_TO_EDGE_SGIS wrap mode.
SEE ALSO
glTexImage1D, glCopyTexSubImage1DEXT, glCopyPixels.
Page 3