glCopyTexSubImage3D

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
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	 tex-
		ture array.

       yoffset	Specifies  a  texel offset in the y direction within the tex-
		ture array.

       zoffset	Specifies a texel offset in the z direction within  the	 tex-
		ture 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-dimen-
       sional  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,  inclu-
       sive,  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 unde-
       fined.

       No change is made to the internalformat, width, height, depth, or bor-
       der  parameters of the specified texture array or to texel values out-
       side 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	 spe-
       cific 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 bor-
       der 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)