1GLGETTEXIMAGE(3G)                                            GLGETTEXIMAGE(3G)
2
3
4

NAME

6       glGetTexImage - return a texture image
7
8

C SPECIFICATION

10       void glGetTexImage( GLenum target,
11                           GLint level,
12                           GLenum format,
13                           GLenum type,
14                           GLvoid *pixels )
15
16

PARAMETERS

18       target  Specifies  which  texture  is  to  be obtained.  GL_TEXTURE_1D,
19               GL_TEXTURE_2D, and GL_TEXTURE_3D  are accepted.
20
21       level   Specifies the level-of-detail  number  of  the  desired  image.
22               Level  0  is  the  base image level.  Level n is the nth mipmap
23               reduction image.
24
25       format  Specifies a pixel  for the returned data.  The  supported  for‐
26               mats  are  GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR,
27               GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
28
29       type    Specifies a pixel type for the returned  data.   The  supported
30               types   are   GL_UNSIGNED_BYTE,   GL_BYTE,   GL_UNSIGNED_SHORT,
31               GL_SHORT,       GL_UNSIGNED_INT,       GL_INT,        GL_FLOAT,
32               GL_UNSIGNED_BYTE_3_3_2,             GL_UNSIGNED_BYTE_2_3_3_REV,
33               GL_UNSIGNED_SHORT_5_6_5,           GL_UNSIGNED_SHORT_5_6_5_REV,
34               GL_UNSIGNED_SHORT_4_4_4_4,       GL_UNSIGNED_SHORT_4_4_4_4_REV,
35               GL_UNSIGNED_SHORT_5_5_5_1,       GL_UNSIGNED_SHORT_1_5_5_5_REV,
36               GL_UNSIGNED_INT_8_8_8_8,           GL_UNSIGNED_INT_8_8_8_8_REV,
37               GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
38
39       pixels  Returns the texture image.  Should be a pointer to an array  of
40               the type specified by type.
41

DESCRIPTION

43       glGetTexImage  returns  a  texture image into pixels.  target specifies
44       whether the desired texture image is one specified by  glTexImage1D  (‐
45       GL_TEXTURE_1D),   glTexImage2D   (GL_TEXTURE_2D),  or  glTexImage3D  (‐
46       GL_TEXTURE_3D).  level specifies  the  level-of-detail  number  of  the
47       desired  image.   format  and type specify the  and type of the desired
48       image array.  See the reference pages glTexImage1D and glDrawPixels for
49       a  description of the acceptable values for the format and type parame‐
50       ters, respectively.
51
52       To understand the operation of  glGetTexImage,  consider  the  selected
53       internal  four-component  texture  image to be an RGBA color buffer the
54       size of the image.  The semantics of glGetTexImage are  then  identical
55       to  those  of  glReadPixels,  with the exception that no pixel transfer
56       operations are performed, when called with the same  format  and  type,
57       with  x  and  y  set  to 0, width set to the width of the texture image
58       (including border if one was specified), and height set  to  1  for  1D
59       images,  or to the height of the texture image (including border if one
60       was specified) for 2D images.  Because the internal texture image is an
61       RGBA   image,   pixel  formats  GL_COLOR_INDEX,  GL_STENCIL_INDEX,  and
62       GL_DEPTH_COMPONENT are not accepted, and pixel type  GL_BITMAP  is  not
63       accepted.
64
65       If  the  selected  texture  image does not contain four components, the
66       following mappings are applied.  Single-component textures are  treated
67       as  RGBA  buffers with red set to the single-component value, green set
68       to 0,  blue set to 0, and alpha set to 1.  Two-component  textures  are
69       treated  as  RGBA  buffers with red set to the value of component zero,
70       alpha set to the value of component one, and green and blue set  to  0.
71       Finally,  three-component textures are treated as RGBA buffers with red
72       set to component zero, green set to component one, blue set  to  compo‐
73       nent two, and alpha set to 1.
74
75       To determine the required size of pixels, use glGetTexLevelParameter to
76       determine the dimensions of the internal texture image, then scale  the
77       required number of pixels by the storage required for each pixel, based
78       on format and type.  Be sure to take the pixel storage parameters  into
79       account, especially GL_PACK_ALIGNMENT.
80

NOTES

82       If an error is generated, no change is made to the contents of pixels.
83
84       When  the  GL_ARB_multitexture  extension  is  supported, glGetTexImage
85       returns the texture image for the active texture unit.
86
87       The    types    GL_UNSIGNED_BYTE_3_3_2,     GL_UNSIGNED_BYTE_2_3_3_REV,
88       GL_UNSIGNED_SHORT_5_6_5,                   GL_UNSIGNED_SHORT_5_6_5_REV,
89       GL_UNSIGNED_SHORT_4_4_4_4,               GL_UNSIGNED_SHORT_4_4_4_4_REV,
90       GL_UNSIGNED_SHORT_5_5_5_1,               GL_UNSIGNED_SHORT_1_5_5_5_REV,
91       GL_UNSIGNED_INT_8_8_8_8,                   GL_UNSIGNED_INT_8_8_8_8_REV,
92       GL_UNSIGNED_INT_10_10_10_2,   GL_UNSIGNED_INT_2_10_10_10_REV,  and  the
93       formats GL_BGR, and GL_BGRA are available only if the GL version is 1.2
94       or greater.
95

ERRORS

97       GL_INVALID_ENUM  is  generated  if  target,  format,  or type is not an
98       accepted value.
99
100       GL_INVALID_VALUE is generated if level is less than 0.
101
102       GL_INVALID_VALUE may be generated if level  is  greater  than  log2max,
103       where max is the returned value of GL_MAX_TEXTURE_SIZE.
104
105       GL_INVALID_OPERATION  is generated if glGetTexImage is executed between
106       the execution of glBegin and the corresponding execution of glEnd.
107
108       GL_INVALID_OPERATION    is    returned    if    type    is    one    of
109       GL_UNSIGNED_BYTE_3_3_2,                     GL_UNSIGNED_BYTE_2_3_3_REV,
110       GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and  format  is
111       not GL_RGB.
112
113       GL_INVALID_OPERATION    is    returned    if    type    is    one    of
114       GL_UNSIGNED_SHORT_4_4_4_4,               GL_UNSIGNED_SHORT_4_4_4_4_REV,
115       GL_UNSIGNED_SHORT_5_5_5_1,               GL_UNSIGNED_SHORT_1_5_5_5_REV,
116       GL_UNSIGNED_INT_8_8_8_8,                   GL_UNSIGNED_INT_8_8_8_8_REV,
117       GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV, and for‐
118       mat is neither GL_RGBA or GL_BGRA.
119

ASSOCIATED GETS

121       glGetTexLevelParameter with argument GL_TEXTURE_WIDTH
122       glGetTexLevelParameter with argument GL_TEXTURE_HEIGHT
123       glGetTexLevelParameter with argument GL_TEXTURE_BORDER
124       glGetTexLevelParameter with argument GL_TEXTURE_INTERNALFORMAT
125       glGet with arguments GL_PACK_ALIGNMENT and others
126

SEE ALSO

128       glActiveTextureARB(3G),       glDrawPixels(3G),       glReadPixels(3G),
129       glTexEnv(3G),    glTexGen(3G),    glTexImage1D(3G),   glTexImage2D(3G),
130       glTexImage3D(3G),       glTexSubImage1D(3G),       glTexSubImage2D(3G),
131       glTexSubImage3D(3G), glTexParameter(3G)
132
133
134
135                                                             GLGETTEXIMAGE(3G)
Impressum