Documentation
From my personal library, The Internet

man page:



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

       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

Man(1) output converted with man2html