ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



GLCOPYTEXSUBIMAGE3D(3G)                                                              GLCOPYTEXSUBIMAGE3D(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 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 originally specified.  It is not an error to  specify  a  subtexture  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 associated 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  texture.   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 operation.

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

       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)




                                                                                     GLCOPYTEXSUBIMAGE3D(3G)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.