manpagez: man pages & more
man glGetTexImage(3)
Home | html | info | man
glGetTexImage(3)                                            glGetTexImage(3)




NAME

       glGetTexImage - return a texture image



C SPECIFICATION

       void glGetTexImage( GLenum target,
                           GLint level,
                           GLenum format,
                           GLenum type,
                           GLvoid *pixels )



PARAMETERS

       target  Specifies  which  texture  is  to  be obtained.  GL_TEXTURE_1D,
               GL_TEXTURE_2D, and GL_TEXTURE_3D  are accepted.

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

       format  Specifies a pixel  for the returned data.  The  supported  for-
               mats  are  GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR,
               GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.

       type    Specifies a pixel type for the returned  data.   The  supported
               types   are   GL_UNSIGNED_BYTE,   GL_BYTE,   GL_UNSIGNED_SHORT,
               GL_SHORT,       GL_UNSIGNED_INT,       GL_INT,        GL_FLOAT,
               GL_UNSIGNED_BYTE_3_3_2,             GL_UNSIGNED_BYTE_2_3_3_REV,
               GL_UNSIGNED_SHORT_5_6_5,           GL_UNSIGNED_SHORT_5_6_5_REV,
               GL_UNSIGNED_SHORT_4_4_4_4,       GL_UNSIGNED_SHORT_4_4_4_4_REV,
               GL_UNSIGNED_SHORT_5_5_5_1,       GL_UNSIGNED_SHORT_1_5_5_5_REV,
               GL_UNSIGNED_INT_8_8_8_8,           GL_UNSIGNED_INT_8_8_8_8_REV,
               GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.

       pixels  Returns  the texture image.  Should be a pointer to an array of
               the type specified by type.


DESCRIPTION

       glGetTexImage returns a texture image into  pixels.   target  specifies
       whether  the  desired texture image is one specified by glTexImage1D (-
       GL_TEXTURE_1D),  glTexImage2D  (GL_TEXTURE_2D),  or   glTexImage3D   (-
       GL_TEXTURE_3D).   level  specifies  the  level-of-detail  number of the
       desired image.  format and type specify the  and type  of  the  desired
       image array.  See the reference pages glTexImage1D and glDrawPixels for
       a description of the acceptable values for the format and type  parame-
       ters, respectively.

       To  understand  the  operation  of glGetTexImage, consider the selected
       internal four-component texture image to be an RGBA  color  buffer  the
       size  of  the image.  The semantics of glGetTexImage are then identical
       to those of glReadPixels, with the exception  that  no  pixel  transfer
       operations  are  performed,  when called with the same format and type,
       with x and y set to 0, width set to the  width  of  the  texture  image
       (including  border  if  one  was specified), and height set to 1 for 1D
       images, or to the height of the texture image (including border if  one
       was specified) for 2D images.  Because the internal texture image is an
       RGBA  image,  pixel  formats  GL_COLOR_INDEX,   GL_STENCIL_INDEX,   and
       GL_DEPTH_COMPONENT  are  not  accepted, and pixel type GL_BITMAP is not
       accepted.

       If the selected texture image does not  contain  four  components,  the
       following  mappings are applied.  Single-component textures are treated
       as RGBA buffers with red set to the single-component value,  green  set
       to  0,   blue set to 0, and alpha set to 1.  Two-component textures are
       treated as RGBA buffers with red set to the value  of  component  zero,
       alpha  set  to the value of component one, and green and blue set to 0.
       Finally, three-component textures are treated as RGBA buffers with  red
       set  to  component zero, green set to component one, blue set to compo-
       nent two, and alpha set to 1.

       To determine the required size of pixels, use glGetTexLevelParameter to
       determine  the dimensions of the internal texture image, then scale the
       required number of pixels by the storage required for each pixel, based
       on  format and type.  Be sure to take the pixel storage parameters into
       account, especially GL_PACK_ALIGNMENT.


NOTES

       If an error is generated, no change is made to the contents of  pixels.

       When  the  GL_ARB_multitexture  extension  is  supported, glGetTexImage
       returns the texture image for the active texture unit.

       The    types    GL_UNSIGNED_BYTE_3_3_2,     GL_UNSIGNED_BYTE_2_3_3_REV,
       GL_UNSIGNED_SHORT_5_6_5,                   GL_UNSIGNED_SHORT_5_6_5_REV,
       GL_UNSIGNED_SHORT_4_4_4_4,               GL_UNSIGNED_SHORT_4_4_4_4_REV,
       GL_UNSIGNED_SHORT_5_5_5_1,               GL_UNSIGNED_SHORT_1_5_5_5_REV,
       GL_UNSIGNED_INT_8_8_8_8,                   GL_UNSIGNED_INT_8_8_8_8_REV,
       GL_UNSIGNED_INT_10_10_10_2,   GL_UNSIGNED_INT_2_10_10_10_REV,  and  the
       formats GL_BGR, and GL_BGRA are available only if the GL version is 1.2
       or greater.


ERRORS

       GL_INVALID_ENUM  is  generated  if  target,  format,  or type is not an
       accepted value.

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

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

       GL_INVALID_OPERATION    is    returned    if    type    is    one    of
       GL_UNSIGNED_BYTE_3_3_2,                     GL_UNSIGNED_BYTE_2_3_3_REV,
       GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and  format  is
       not GL_RGB.

       GL_INVALID_OPERATION    is    returned    if    type    is    one    of
       GL_UNSIGNED_SHORT_4_4_4_4,               GL_UNSIGNED_SHORT_4_4_4_4_REV,
       GL_UNSIGNED_SHORT_5_5_5_1,               GL_UNSIGNED_SHORT_1_5_5_5_REV,
       GL_UNSIGNED_INT_8_8_8_8,                   GL_UNSIGNED_INT_8_8_8_8_REV,
       GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV, and for-
       mat is neither GL_RGBA or GL_BGRA.


ASSOCIATED GETS

       glGetTexLevelParameter with argument GL_TEXTURE_WIDTH
       glGetTexLevelParameter with argument GL_TEXTURE_HEIGHT
       glGetTexLevelParameter with argument GL_TEXTURE_BORDER
       glGetTexLevelParameter with argument GL_TEXTURE_INTERNALFORMAT
       glGet with arguments GL_PACK_ALIGNMENT and others


SEE ALSO

       glActiveTextureARB(3), glDrawPixels(3), glReadPixels(3), glTexEnv(3),
       glTexGen(3), glTexImage1D(3), glTexImage2D(3), glTexImage3D(3),
       glTexSubImage1D(3), glTexSubImage2D(3), glTexSubImage3D(3),
       glTexParameter(3)



                                                             glGetTexImage(3)

Mac OS X 10.6 - Generated Thu Sep 17 20:20:22 CDT 2009
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.