glCopyTexSubImage1D

[New - Windows 95, OEM Service Release 2]

The glCopyTexSubImage1D function copies a sub-image of a one-dimensional texture image from the frame buffer.

void glCopyTexSubImage1D(

    GLenum target,

 

    GLint level,

 

    GLint xoffset,

 

    GLint x,

 

    GLint y,

 

    GLsizei width

 

   );

 

 

Parameters

target

The target to which the image data will be changed. Must have the value GL_TEXTURE_1D.

level

The level-of-detail number. Level 0 is the base image. Level n is the nth mipmap reduction image.

xoffset

The texel offset within the texture array.

x, y

The window coordinates of the lower-left corner of the row of pixels to be copied.

width

The width of the sub-image of the texture image. Specifying a texture sub-image with zero width has no effect.

Remarks

The glCopyTexSubImage1D function replaces a portion of a one-dimensional texture image using pixels from the current frame buffer, rather than from main memory as is the case for glTexSubImage1DXXM.IT.

A row of pixels beginning with the window coordinates specified by x and y and with the length width replaces the portion of the texture array with the indexes xoffset through xoffset + (width - 1). The destination in the texture array cannot include any texels outside the originally specified texture array.

The glCopyTexSubImage1D function processes the pixels in a row in the same way as glCopyPixels173H6L except that before the final conversion of the pixels, all pixel component values are clamped to the range [0, 1] and converted to the texture s internal format for storage in the texture array. Pixel ordering is determined with lower x coordinates corresponding to lower texture coordinates. If any of the pixels within a specified row of the current frame buffer are outside the window associated with the current rendering context, then their values are undefined.

No change is made to the internalFormat, width, or border parameter of the specified texture array or to texel values outside the specified texture sub-image.

You cannot include calls to glCopyTexSubImage1D in display lists.

 

Note  The glCopyTexSubImage1D function is only available in OpenGL version 1.1 or later.

Texturing has no effect in color-index mode. The glPixelStoreNHM7UO and glPixelTransfer6MW9.AX functions affect texture images in exactly the way they affect the way pixels are drawn using glDrawPixelsHZW_GG.

 

The following functions retrieve information related to glCopyTexSubImage1D:

glGetTexImageGJ_6Y8

glIsEnabled1MZ_ZK. with argument GL_TEXTURE_1D

 

Error Codes

The following are the error codes generated and their conditions.

Error Code

Condition

GL_INVALID_ENUM

target was not an accepted value.

GL_INVALID_VALUE

level was less than zero or greater than log sub 2(max), where max is the returned value of GL_MAX_TEXTURE_SIZE.

GL_INVALID_VALUE

xoffset was less than border or (xoffset + width) was greater than (w + border), where w is GL_TEXTURE_WIDTH and border is GL_TEXTURE_BORDER. Note that w includes twice the border width.

GL_INVALID_VALUE

width was less than border or y was less than border, where border is the border width of the texture array.

GL_INVALID_OPERATION

The texture array was not defined by a previous glTexImage1D operation.

GL_INVALID_OPERATION

glCopyTexSubImage1D was called between a call to glBegin and the corresponding call to glEnd.

 

See Also

glBegin, glCopyTexSubImage2D, glDrawPixels, glEnd, glFog, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexSubImage1D, glTexSubImage2D, glTexParameter