MirBSD manpage: glCopyTexSubImage3D(3)


GLCOPYTEXSUBIMAGE3D(3UNIX Programmer's ManGLCOPYTEXSUBIMAGE3D(3G)

NAME

     glCopyTexSubImage3D - copy a three-dimensional texture
     subimage

C SPECIFICATION

     void glCopyTexSubImage3D( GLenum target,
                               GLint level,
                               GLint xoffset,
                               GLint yoffset,
                               GLint zoffset,
                               GLint x,
                               GLint y,
                               GLsizei width,
                               GLsizei height )

PARAMETERS

     target   Specifies the target texture. Must be GL_TEXTURE_3D

     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.

     zoffset  Specifies a texel offset in the z direction within
              the texture array.

     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 subimage.

     height   Specifies the height of the texture subimage.

DESCRIPTION

     glCopyTexSubImage3D replaces a rectangular portion of a
     three-dimensional texture image with pixels from the current
     GL_READ_BUFFER (rather than from main memory, as is the case
     for glTexSubImage3D).

     The screen-aligned pixel rectangle with lower left corner at
     (x, y) and with width width and height height replaces the
     portion of the texture array with x indices xoffset through
     xoffset + width - 1, inclusive, and y indices yoffset
     through yoffset + height - 1, inclusive, at z index zoffset

MirBSD #10-current     Printed 2021-12-07                       1

GLCOPYTEXSUBIMAGE3D(3UNIX Programmer's ManGLCOPYTEXSUBIMAGE3D(3G)

     and at the mipmap level specified by level.

     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  for storage in the texel array.

     The destination rectangle in the texture array may not
     include any texels outside the texture array as it was ori-
     ginally specified. It is not an error to specify a subtex-
     ture with zero width or height, but such a specification has
     no effect.

     If any of the pixels within the specified rectangle of the
     current GL_READ_BUFFER are outside the read window associ-
     ated with the current rendering context, then the values
     obtained for those pixels are undefined.

     No change is made to the internalformat, width, height,
     depth, or border parameters of the specified texture array
     or to texel values outside the specified subregion.

NOTES

     glCopyTexSubImage3D is available only if the GL version is
     1.2 or greater.

     Texturing has no effect in color index mode.

     glPixelStore and glPixelTransfer modes affect texture images
     in exactly the way they affect glDrawPixels.

     When the GL_ARB_imaging extension is supported, the RGBA
     components copied from the framebuffer may be processed by
     the imaging pipeline, as if they were a two-dimensional tex-
     ture.  See glTexImage2D for specific details.

ERRORS

     GL_INVALID_ENUM is generated if target is not GL_TEXTURE_3D.

     GL_INVALID_OPERATION is generated if the texture array has
     not been defined by a previous glTexImage3D or
     glCopyTexImage3D operation.

     GL_INVALID_VALUE is generated if level is less than 0.

     GL_INVALID_VALUE may be generated if level is greater than
     log2max, where max is the returned value of
     GL_MAX_3D_TEXTURE_SIZE.

     GL_INVALID_VALUE is generated if x <  -b or if y <  -b,
     where b is the border width of the texture array.

MirBSD #10-current     Printed 2021-12-07                       2

GLCOPYTEXSUBIMAGE3D(3UNIX Programmer's ManGLCOPYTEXSUBIMAGE3D(3G)

     GL_INVALID_VALUE is generated if xoffset < -b,
     (xoffset + width) > (w - b), yoffset <  -b,
     (yoffset + height) > (h - b), zoffset <  -b, or
     zoffset > (d - b), where w is the GL_TEXTURE_WIDTH, h is the
     GL_TEXTURE_HEIGHT, d is the GL_TEXTURE_DEPTH, and b is the
     GL_TEXTURE_BORDER of the texture image being modified. Note
     that w, h, and d include twice the border width.

     GL_INVALID_OPERATION is generated if glCopyTexSubImage3D is
     executed between the execution of glBegin and the
     corresponding execution of glEnd.

ASSOCIATED GETS

     glGetTexImage
     glIsEnabled with argument GL_TEXTURE_3D

SEE ALSO

     glCopyPixels(3G), glCopyTexImage1D(3G),
     glCopyTexImage2D(3G), glCopyTexSubImage1D(3G),
     glCopyTexSubImage2D(3G), glPixelStore(3G),
     glPixelTransfer(3G), glReadBuffer(3G), glTexEnv(3G),
     glTexGen(3G), glTexImage1D(3G), glTexImage2D(3G),
     glTexImage3D(3G), glTexParameter(3G), glTexSubImage1D(3G),
     glTexSubImage2D(3G), glTexSubImage3D(3G)

MirBSD #10-current     Printed 2021-12-07                       3

Generated on 2021-12-07 11:07:08 by $MirOS: src/scripts/roff2htm,v 1.103 2021/01/23 20:24:35 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2021 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.