include more low-level bindings
[clinton/guile-figl.git] / upstream-man-pages / man2 / glTexImage2D.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
4 <refentry id="glTexImage2D">
5 <refmeta>
6 <refmetainfo>
7 <copyright>
8 <year>1991-2006</year>
9 <holder>Silicon Graphics, Inc.</holder>
10 </copyright>
11 </refmetainfo>
12 <refentrytitle>glTexImage2D</refentrytitle>
13 <manvolnum>3G</manvolnum>
14 </refmeta>
15 <refnamediv>
16 <refname>glTexImage2D</refname>
17 <refpurpose>specify a two-dimensional texture image</refpurpose>
18 </refnamediv>
19 <refsynopsisdiv><title>C Specification</title>
20 <funcsynopsis>
21 <funcprototype>
22 <funcdef>void <function>glTexImage2D</function></funcdef>
23 <paramdef>GLenum <parameter>target</parameter></paramdef>
24 <paramdef>GLint <parameter>level</parameter></paramdef>
25 <paramdef>GLint <parameter>internalFormat</parameter></paramdef>
26 <paramdef>GLsizei <parameter>width</parameter></paramdef>
27 <paramdef>GLsizei <parameter>height</parameter></paramdef>
28 <paramdef>GLint <parameter>border</parameter></paramdef>
29 <paramdef>GLenum <parameter>format</parameter></paramdef>
30 <paramdef>GLenum <parameter>type</parameter></paramdef>
31 <paramdef>const GLvoid * <parameter>data</parameter></paramdef>
32 </funcprototype>
33 </funcsynopsis>
34 </refsynopsisdiv>
35 <!-- eqn: ignoring delim $$ -->
36 <para>
37 </para>
38 <refsect1 id="parameters"><title>Parameters</title>
39 <variablelist>
40 <varlistentry>
41 <term><parameter>target</parameter></term>
42 <listitem>
43 <para>
44 Specifies the target texture.
45 Must be <constant>GL_TEXTURE_2D</constant>, <constant>GL_PROXY_TEXTURE_2D</constant>,
46 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X</constant>,
47 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>,
48 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>,
49 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</constant>,
50 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>,
51 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>, or
52 <constant>GL_PROXY_TEXTURE_CUBE_MAP</constant>.
53 </para>
54 </listitem>
55 </varlistentry>
56 <varlistentry>
57 <term><parameter>level</parameter></term>
58 <listitem>
59 <para>
60 Specifies the level-of-detail number.
61 Level 0 is the base image level.
62 Level <emphasis>n</emphasis> is the <emphasis>n</emphasis>th mipmap reduction image.
63 </para>
64 </listitem>
65 </varlistentry>
66 <varlistentry>
67 <term><parameter>internalFormat</parameter></term>
68 <listitem>
69 <para>
70 Specifies the number of color components in the texture.
71 Must be 1, 2, 3, or 4, or one of the following symbolic constants:
72 <constant>GL_ALPHA</constant>,
73 <constant>GL_ALPHA4</constant>,
74 <constant>GL_ALPHA8</constant>,
75 <constant>GL_ALPHA12</constant>,
76 <constant>GL_ALPHA16</constant>,
77 <constant>GL_COMPRESSED_ALPHA</constant>,
78 <constant>GL_COMPRESSED_LUMINANCE</constant>,
79 <constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
80 <constant>GL_COMPRESSED_INTENSITY</constant>,
81 <constant>GL_COMPRESSED_RGB</constant>,
82 <constant>GL_COMPRESSED_RGBA</constant>,
83 <constant>GL_DEPTH_COMPONENT</constant>,
84 <constant>GL_DEPTH_COMPONENT16</constant>,
85 <constant>GL_DEPTH_COMPONENT24</constant>,
86 <constant>GL_DEPTH_COMPONENT32</constant>,
87 <constant>GL_LUMINANCE</constant>,
88 <constant>GL_LUMINANCE4</constant>,
89 <constant>GL_LUMINANCE8</constant>,
90 <constant>GL_LUMINANCE12</constant>,
91 <constant>GL_LUMINANCE16</constant>,
92 <constant>GL_LUMINANCE_ALPHA</constant>,
93 <constant>GL_LUMINANCE4_ALPHA4</constant>,
94 <constant>GL_LUMINANCE6_ALPHA2</constant>,
95 <constant>GL_LUMINANCE8_ALPHA8</constant>,
96 <constant>GL_LUMINANCE12_ALPHA4</constant>,
97 <constant>GL_LUMINANCE12_ALPHA12</constant>,
98 <constant>GL_LUMINANCE16_ALPHA16</constant>,
99 <constant>GL_INTENSITY</constant>,
100 <constant>GL_INTENSITY4</constant>,
101 <constant>GL_INTENSITY8</constant>,
102 <constant>GL_INTENSITY12</constant>,
103 <constant>GL_INTENSITY16</constant>,
104 <constant>GL_R3_G3_B2</constant>,
105 <constant>GL_RGB</constant>,
106 <constant>GL_RGB4</constant>,
107 <constant>GL_RGB5</constant>,
108 <constant>GL_RGB8</constant>,
109 <constant>GL_RGB10</constant>,
110 <constant>GL_RGB12</constant>,
111 <constant>GL_RGB16</constant>,
112 <constant>GL_RGBA</constant>,
113 <constant>GL_RGBA2</constant>,
114 <constant>GL_RGBA4</constant>,
115 <constant>GL_RGB5_A1</constant>,
116 <constant>GL_RGBA8</constant>,
117 <constant>GL_RGB10_A2</constant>,
118 <constant>GL_RGBA12</constant>,
119 <constant>GL_RGBA16</constant>,
120 <constant>GL_SLUMINANCE</constant>,
121 <constant>GL_SLUMINANCE8</constant>,
122 <constant>GL_SLUMINANCE_ALPHA</constant>,
123 <constant>GL_SLUMINANCE8_ALPHA8</constant>,
124 <constant>GL_SRGB</constant>,
125 <constant>GL_SRGB8</constant>,
126 <constant>GL_SRGB_ALPHA</constant>, or
127 <constant>GL_SRGB8_ALPHA8</constant>.
128 </para>
129 </listitem>
130 </varlistentry>
131 <varlistentry>
132 <term><parameter>width</parameter></term>
133 <listitem>
134 <para>
135 Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be
136 <inlineequation><mml:math>
137 <!-- eqn: 2 sup n + 2 ( border ):-->
138 <mml:mrow>
139 <mml:msup><mml:mn>2</mml:mn>
140 <mml:mi mathvariant="italic">n</mml:mi>
141 </mml:msup>
142 <mml:mo>+</mml:mo>
143 <mml:mrow>
144 <mml:mn>2</mml:mn>
145 <mml:mo>&af;</mml:mo>
146 <mml:mfenced open="(" close=")">
147 <mml:mi mathvariant="italic">border</mml:mi>
148 </mml:mfenced>
149 </mml:mrow>
150 </mml:mrow>
151 </mml:math></inlineequation>
152 for some integer
153 <inlineequation><mml:math><mml:mi mathvariant="italic">n</mml:mi></mml:math></inlineequation>.
154 All
155 implementations support texture images that are at least 64 texels
156 wide.
157 </para>
158 </listitem>
159 </varlistentry>
160 <varlistentry>
161 <term><parameter>height</parameter></term>
162 <listitem>
163 <para>
164 Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be
165 <inlineequation><mml:math>
166 <!-- eqn: 2 sup m + 2 ( border ):-->
167 <mml:mrow>
168 <mml:msup><mml:mn>2</mml:mn>
169 <mml:mi mathvariant="italic">m</mml:mi>
170 </mml:msup>
171 <mml:mo>+</mml:mo>
172 <mml:mrow>
173 <mml:mn>2</mml:mn>
174 <mml:mo>&af;</mml:mo>
175 <mml:mfenced open="(" close=")">
176 <mml:mi mathvariant="italic">border</mml:mi>
177 </mml:mfenced>
178 </mml:mrow>
179 </mml:mrow>
180 </mml:math></inlineequation>
181 for some integer
182 <inlineequation><mml:math><mml:mi mathvariant="italic">m</mml:mi></mml:math></inlineequation>.
183 All
184 implementations support texture images that are at least 64 texels
185 high.
186 </para>
187 </listitem>
188 </varlistentry>
189 <varlistentry>
190 <term><parameter>border</parameter></term>
191 <listitem>
192 <para>
193 Specifies the width of the border.
194 Must be either 0 or 1.
195 </para>
196 </listitem>
197 </varlistentry>
198 <varlistentry>
199 <term><parameter>format</parameter></term>
200 <listitem>
201 <para>
202 Specifies the format of the pixel data.
203 The following symbolic values are accepted:
204 <constant>GL_COLOR_INDEX</constant>,
205 <constant>GL_RED</constant>,
206 <constant>GL_GREEN</constant>,
207 <constant>GL_BLUE</constant>,
208 <constant>GL_ALPHA</constant>,
209 <constant>GL_RGB</constant>,
210 <constant>GL_BGR</constant>,
211 <constant>GL_RGBA</constant>,
212 <constant>GL_BGRA</constant>,
213 <constant>GL_LUMINANCE</constant>, and
214 <constant>GL_LUMINANCE_ALPHA</constant>.
215 </para>
216 </listitem>
217 </varlistentry>
218 <varlistentry>
219 <term><parameter>type</parameter></term>
220 <listitem>
221 <para>
222 Specifies the data type of the pixel data.
223 The following symbolic values are accepted:
224 <constant>GL_UNSIGNED_BYTE</constant>,
225 <constant>GL_BYTE</constant>,
226 <constant>GL_BITMAP</constant>,
227 <constant>GL_UNSIGNED_SHORT</constant>,
228 <constant>GL_SHORT</constant>,
229 <constant>GL_UNSIGNED_INT</constant>,
230 <constant>GL_INT</constant>,
231 <constant>GL_FLOAT</constant>,
232 <constant>GL_UNSIGNED_BYTE_3_3_2</constant>,
233 <constant>GL_UNSIGNED_BYTE_2_3_3_REV</constant>,
234 <constant>GL_UNSIGNED_SHORT_5_6_5</constant>,
235 <constant>GL_UNSIGNED_SHORT_5_6_5_REV</constant>,
236 <constant>GL_UNSIGNED_SHORT_4_4_4_4</constant>,
237 <constant>GL_UNSIGNED_SHORT_4_4_4_4_REV</constant>,
238 <constant>GL_UNSIGNED_SHORT_5_5_5_1</constant>,
239 <constant>GL_UNSIGNED_SHORT_1_5_5_5_REV</constant>,
240 <constant>GL_UNSIGNED_INT_8_8_8_8</constant>,
241 <constant>GL_UNSIGNED_INT_8_8_8_8_REV</constant>,
242 <constant>GL_UNSIGNED_INT_10_10_10_2</constant>, and
243 <constant>GL_UNSIGNED_INT_2_10_10_10_REV</constant>.
244 </para>
245 </listitem>
246 </varlistentry>
247 <varlistentry>
248 <term><parameter>data</parameter></term>
249 <listitem>
250 <para>
251 Specifies a pointer to the image data in memory.
252 </para>
253 </listitem>
254 </varlistentry>
255 </variablelist>
256 </refsect1>
257 <refsect1 id="description"><title>Description</title>
258 <para>
259 Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable two-dimensional texturing, call <citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glDisable</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_2D</constant>. To enable and disable texturing using cube-mapped texture, call <citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glDisable</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_CUBE_MAP</constant>.
260 </para>
261 <para>
262 To define texture images, call <function>glTexImage2D</function>.
263 The arguments describe the parameters of the texture image,
264 such as height,
265 width,
266 width of the border,
267 level-of-detail number
268 (see <citerefentry><refentrytitle>glTexParameter</refentrytitle></citerefentry>),
269 and number of color components provided.
270 The last three arguments describe how the image is represented in memory;
271 they are identical to the pixel formats used for <citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>.
272 </para>
273 <para>
274 If <parameter>target</parameter> is <constant>GL_PROXY_TEXTURE_2D</constant> or <constant>GL_PROXY_TEXTURE_CUBE_MAP</constant>, no data is read from <parameter>data</parameter>, but
275 all of the texture image state is recalculated, checked for
276 consistency, and checked
277 against the implementation's capabilities. If the implementation cannot
278 handle a texture of the requested texture size, it sets
279 all of the image state to 0,
280 but does not generate an error (see <citerefentry><refentrytitle>glGetError</refentrytitle></citerefentry>). To query for an
281 entire mipmap array, use an image array level greater than or equal to
282 1.
283 </para>
284 <para>
285 If <parameter>target</parameter> is <constant>GL_TEXTURE_2D</constant>, or one of the <constant>GL_TEXTURE_CUBE_MAP</constant>
286 targets, data is read from <parameter>data</parameter> as a sequence of signed or unsigned
287 bytes, shorts, or longs, or single-precision floating-point values,
288 depending on <parameter>type</parameter>. These values are grouped into sets of one, two,
289 three, or four values, depending on <parameter>format</parameter>, to form elements. If <parameter>type</parameter>
290 is <constant>GL_BITMAP</constant>, the data is considered as a string of unsigned bytes
291 (and <parameter>format</parameter> must be <constant>GL_COLOR_INDEX</constant>).
292 Each data byte is treated as eight 1-bit elements,
293 with bit ordering determined by <constant>GL_UNPACK_LSB_FIRST</constant>
294 (see <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>).
295 </para>
296 <para>
297 If a non-zero named buffer object is bound to the <constant>GL_PIXEL_UNPACK_BUFFER</constant> target
298 (see <citerefentry><refentrytitle>glBindBuffer</refentrytitle></citerefentry>) while a texture image is
299 specified, <parameter>data</parameter> is treated as a byte offset into the buffer object's data store.
300 </para>
301 <para>
302 The first element corresponds to the lower left corner of the texture
303 image.
304 Subsequent elements progress left-to-right through the remaining texels
305 in the lowest row of the texture image, and then in successively higher
306 rows of the texture image.
307 The final element corresponds to the upper right corner of the texture
308 image.
309 </para>
310 <para>
311 <parameter>format</parameter> determines the composition of each element in <parameter>data</parameter>.
312 It can assume one of these symbolic values:
313 </para>
314 <variablelist>
315 <varlistentry>
316 <term><constant>GL_COLOR_INDEX</constant></term>
317 <listitem>
318 <para>
319 Each element is a single value,
320 a color index.
321 The GL converts it to fixed point
322 (with an unspecified number of zero bits to the right of the binary point),
323 shifted left or right depending on the value and sign of <constant>GL_INDEX_SHIFT</constant>,
324 and added to <constant>GL_INDEX_OFFSET</constant>
325 (see <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>).
326 The resulting index is converted to a set of color components
327 using the
328 <constant>GL_PIXEL_MAP_I_TO_R</constant>,
329 <constant>GL_PIXEL_MAP_I_TO_G</constant>,
330 <constant>GL_PIXEL_MAP_I_TO_B</constant>, and
331 <constant>GL_PIXEL_MAP_I_TO_A</constant> tables,
332 and clamped to the range [0,1].
333 </para>
334 </listitem>
335 </varlistentry>
336 <varlistentry>
337 <term><constant>GL_RED</constant></term>
338 <listitem>
339 <para>
340 Each element is a single red component.
341 The GL converts it to floating point and assembles it into an RGBA element
342 by attaching 0 for green and blue, and 1 for alpha.
343 Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
344 added to the signed bias <constant>GL_c_BIAS</constant>,
345 and clamped to the range [0,1]
346 (see <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>).
347 </para>
348 </listitem>
349 </varlistentry>
350 <varlistentry>
351 <term><constant>GL_GREEN</constant></term>
352 <listitem>
353 <para>
354 Each element is a single green component.
355 The GL converts it to floating point and assembles it into an RGBA element
356 by attaching 0 for red and blue, and 1 for alpha.
357 Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
358 added to the signed bias <constant>GL_c_BIAS</constant>,
359 and clamped to the range [0,1]
360 (see <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>).
361 </para>
362 </listitem>
363 </varlistentry>
364 <varlistentry>
365 <term><constant>GL_BLUE</constant></term>
366 <listitem>
367 <para>
368 Each element is a single blue component.
369 The GL converts it to floating point and assembles it into an RGBA element
370 by attaching 0 for red and green, and 1 for alpha.
371 Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
372 added to the signed bias <constant>GL_c_BIAS</constant>,
373 and clamped to the range [0,1]
374 (see <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>).
375 </para>
376 </listitem>
377 </varlistentry>
378 <varlistentry>
379 <term><constant>GL_ALPHA</constant></term>
380 <listitem>
381 <para>
382 Each element is a single alpha component.
383 The GL converts it to floating point and assembles it into an RGBA element
384 by attaching 0 for red, green, and blue.
385 Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
386 added to the signed bias <constant>GL_c_BIAS</constant>,
387 and clamped to the range [0,1]
388 (see <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>).
389 </para>
390 </listitem>
391 </varlistentry>
392 <varlistentry>
393 <term><constant>GL_INTENSITY</constant></term>
394 <listitem>
395 <para>
396 Each element is a single intensity value.
397 The GL converts it to floating point,
398 then assembles it into an RGBA element by replicating the intensity value
399 three times for red, green, blue, and alpha.
400 Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
401 added to the signed bias <constant>GL_c_BIAS</constant>,
402 and clamped to the range [0,1]
403 (see <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>).
404 </para>
405 </listitem>
406 </varlistentry>
407 <varlistentry>
408 <term><constant>GL_RGB</constant></term>
409 <listitem>
410 </listitem>
411 </varlistentry>
412 <varlistentry>
413 <term><constant>GL_BGR</constant></term>
414 <listitem>
415 <para>
416 Each element is an RGB triple.
417 The GL converts it to floating point and assembles it into an RGBA element
418 by attaching 1 for alpha.
419 Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
420 added to the signed bias <constant>GL_c_BIAS</constant>,
421 and clamped to the range [0,1]
422 (see <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>).
423 </para>
424 </listitem>
425 </varlistentry>
426 <varlistentry>
427 <term><constant>GL_RGBA</constant></term>
428 <listitem>
429 </listitem>
430 </varlistentry>
431 <varlistentry>
432 <term><constant>GL_BGRA</constant></term>
433 <listitem>
434 <para>
435 Each element contains all four components.
436 Each component is multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
437 added to the signed bias <constant>GL_c_BIAS</constant>,
438 and clamped to the range [0,1]
439 (see <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>).
440 </para>
441 </listitem>
442 </varlistentry>
443 <varlistentry>
444 <term><constant>GL_LUMINANCE</constant></term>
445 <listitem>
446 <para>
447 Each element is a single luminance value.
448 The GL converts it to floating point,
449 then assembles it into an RGBA element by replicating the luminance value
450 three times for red, green, and blue and attaching 1 for alpha.
451 Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
452 added to the signed bias <constant>GL_c_BIAS</constant>,
453 and clamped to the range [0,1]
454 (see <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>).
455 </para>
456 </listitem>
457 </varlistentry>
458 <varlistentry>
459 <term><constant>GL_LUMINANCE_ALPHA</constant></term>
460 <listitem>
461 <para>
462 Each element is a luminance/alpha pair.
463 The GL converts it to floating point,
464 then assembles it into an RGBA element by replicating the luminance value
465 three times for red, green, and blue.
466 Each component is then multiplied by the signed scale factor <constant>GL_c_SCALE</constant>,
467 added to the signed bias <constant>GL_c_BIAS</constant>,
468 and clamped to the range [0,1] (see <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>).
469 </para>
470 </listitem>
471 </varlistentry>
472 <varlistentry>
473 <term><constant>GL_DEPTH_COMPONENT</constant></term>
474 <listitem>
475 <para>
476 Each element is a single depth value.
477 The GL converts it to floating point, multiplies by the signed scale factor
478 <constant>GL_DEPTH_SCALE</constant>, adds the signed bias <constant>GL_DEPTH_BIAS</constant>,
479 and clamps to the range [0,1] (see <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>).
480 </para>
481 </listitem>
482 </varlistentry>
483 </variablelist>
484 <para>
485 Refer to the <citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry> reference page for a description of
486 the acceptable values for the <parameter>type</parameter> parameter.
487 </para>
488 <para>
489 If an application wants to store the texture at a certain
490 resolution or in a certain format, it can request the resolution
491 and format with <parameter>internalFormat</parameter>. The GL will choose an internal
492 representation that closely approximates that requested by <parameter>internalFormat</parameter>, but
493 it may not match exactly.
494 (The representations specified by <constant>GL_LUMINANCE</constant>,
495 <constant>GL_LUMINANCE_ALPHA</constant>, <constant>GL_RGB</constant>,
496 and <constant>GL_RGBA</constant> must match exactly. The numeric values 1, 2, 3, and 4
497 may also be used to specify the above representations.)
498 </para>
499 <para>
500 If the <parameter>internalFormat</parameter> parameter is one of the generic compressed formats,
501 <constant>GL_COMPRESSED_ALPHA</constant>,
502 <constant>GL_COMPRESSED_INTENSITY</constant>,
503 <constant>GL_COMPRESSED_LUMINANCE</constant>,
504 <constant>GL_COMPRESSED_LUMINANCE_ALPHA</constant>,
505 <constant>GL_COMPRESSED_RGB</constant>, or
506 <constant>GL_COMPRESSED_RGBA</constant>, the GL will replace the internal format with the symbolic constant for a specific internal format and compress the texture before storage. If no corresponding internal format is available, or the GL can not compress that image for any reason, the internal format is instead replaced with a corresponding base internal format.
507 </para>
508 <para>
509 If the <parameter>internalFormat</parameter> parameter is
510 <constant>GL_SRGB</constant>,
511 <constant>GL_SRGB8</constant>,
512 <constant>GL_SRGB_ALPHA</constant>,
513 <constant>GL_SRGB8_ALPHA8</constant>,
514 <constant>GL_SLUMINANCE</constant>,
515 <constant>GL_SLUMINANCE8</constant>,
516 <constant>GL_SLUMINANCE_ALPHA</constant>, or
517 <constant>GL_SLUMINANCE8_ALPHA8</constant>, the texture is treated as if the red, green, blue, or luminance components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component
518 <inlineequation><mml:math>
519 <mml:msub><mml:mi mathvariant="italic">c</mml:mi>
520 <mml:mi mathvariant="italic">s</mml:mi>
521 </mml:msub>
522 </mml:math></inlineequation>
523 to a linear component
524 <inlineequation><mml:math>
525 <mml:msub><mml:mi mathvariant="italic">c</mml:mi>
526 <mml:mi mathvariant="italic">l</mml:mi>
527 </mml:msub>
528 </mml:math></inlineequation>
529 is:
530 </para>
531 <para>
532 <inlineequation><mml:math>
533 <mml:mrow>
534 <mml:msub>
535 <mml:mi mathvariant="italic">c</mml:mi>
536 <mml:mi mathvariant="italic">l</mml:mi>
537 </mml:msub>
538 <mml:mo>=</mml:mo>
539 <mml:mrow>
540 <mml:mo>{</mml:mo>
541
542 <mml:mtable columnalign="left">
543 <mml:mtr>
544 <mml:mtd columnalign="left">
545 <mml:mfrac>
546 <mml:msub>
547 <mml:mi mathvariant="italic">c</mml:mi>
548 <mml:mi mathvariant="italic">s</mml:mi>
549 </mml:msub>
550 <mml:mn>12.92</mml:mn>
551 </mml:mfrac>
552 </mml:mtd>
553 <mml:mtd columnalign="left">
554 <mml:mrow>
555 <mml:mspace width="1ex"/>
556 <mml:mo>if</mml:mo>
557 <mml:mspace width="1ex"/>
558 </mml:mrow>
559 <mml:msub>
560 <mml:mi mathvariant="italic">c</mml:mi>
561 <mml:mi mathvariant="italic">s</mml:mi>
562 </mml:msub>
563 <mml:mo>&le;</mml:mo>
564 <mml:mn>0.04045</mml:mn>
565 </mml:mtd>
566 </mml:mtr>
567 <mml:mtr>
568 <mml:mtd columnalign="left">
569 <mml:msup>
570 <mml:mrow>
571 <mml:mo>(</mml:mo>
572 <mml:mfrac>
573 <mml:mrow>
574 <mml:msub>
575 <mml:mi>c</mml:mi>
576 <mml:mi>s</mml:mi>
577 </mml:msub>
578 <mml:mo>+</mml:mo>
579 <mml:mn>0.055</mml:mn>
580 </mml:mrow>
581 <mml:mn>1.055</mml:mn>
582 </mml:mfrac>
583 <mml:mo>)</mml:mo>
584 </mml:mrow>
585 <mml:mn>2.4</mml:mn>
586 </mml:msup>
587 </mml:mtd>
588 <mml:mtd columnalign="left">
589 <mml:mrow>
590 <mml:mspace width="1ex"/>
591 <mml:mo>if</mml:mo>
592 <mml:mspace width="1ex"/>
593 </mml:mrow>
594 <mml:msub>
595 <mml:mi mathvariant="italic">c</mml:mi>
596 <mml:mi mathvariant="italic">s</mml:mi>
597 </mml:msub>
598 <mml:mo>&gt;</mml:mo>
599 <mml:mn>0.04045</mml:mn>
600 </mml:mtd>
601 </mml:mtr>
602 </mml:mtable>
603 </mml:mrow>
604 </mml:mrow>
605 </mml:math>
606 </inlineequation>
607 </para>
608 <para>
609 Assume
610 <inlineequation><mml:math>
611 <mml:msub><mml:mi mathvariant="italic">c</mml:mi>
612 <mml:mi mathvariant="italic">s</mml:mi>
613 </mml:msub>
614 </mml:math></inlineequation>
615 is the sRGB component in the range [0,1].
616 </para>
617 <para>
618 Use the <constant>GL_PROXY_TEXTURE_2D</constant> or <constant>GL_PROXY_TEXTURE_CUBE_MAP</constant> target to try out a resolution and
619 format. The implementation will
620 update and recompute its best match for the requested storage resolution
621 and format. To then query this state, call <citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry>.
622 If the texture cannot be accommodated, texture state is set to 0.
623 </para>
624 <para>
625 A one-component texture image uses only the red component of the RGBA
626 color extracted from <parameter>data</parameter>.
627 A two-component image uses the R and A values.
628 A three-component image uses the R, G, and B values.
629 A four-component image uses all of the RGBA components.
630 </para>
631 <para>
632 Depth textures can be treated as LUMINANCE, INTENSITY or ALPHA textures during texture filtering and application. Image-based shadowing can be enabled by comparing texture r coordinates to depth texture values to generate a boolean result. See <citerefentry><refentrytitle>glTexParameter</refentrytitle></citerefentry> for details on texture comparison.
633 </para>
634 </refsect1>
635 <refsect1 id="notes"><title>Notes</title>
636 <para>
637 Texturing has no effect in color index mode.
638 </para>
639 <para>
640 If the <code>ARB_imaging</code> extension is supported, RGBA elements may
641 also be processed by the imaging pipeline. The following stages may be
642 applied to an RGBA color before color component clamping to the range
643 <inlineequation><mml:math>
644 <!-- eqn: [0,1]:-->
645 <mml:mfenced open="[" close="]">
646 <mml:mn>0</mml:mn>
647 <mml:mn>1</mml:mn>
648 </mml:mfenced>
649 </mml:math></inlineequation>:
650 </para>
651 <variablelist>
652 <varlistentry>
653 <term>1. Color component replacement by the color table specified for</term>
654 <listitem>
655 <para>
656 <constant>GL_COLOR_TABLE</constant>, if enabled. See <citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>.
657 </para>
658 </listitem>
659 </varlistentry>
660 <varlistentry>
661 <term>2. Two-dimensional Convolution filtering, if enabled.</term>
662 <listitem>
663 <para>
664 See <citerefentry><refentrytitle>glConvolutionFilter1D</refentrytitle></citerefentry>.
665 </para>
666 <para>
667 If a convolution filter changes the <parameter>width</parameter> of the texture (by
668 processing with a <constant>GL_CONVOLUTION_BORDER_MODE</constant> of <constant>GL_REDUCE</constant>, for
669 example), and the GL does not support non-power-of-two textures, the <parameter>width</parameter> must
670 <inlineequation><mml:math>
671 <!-- eqn: 2 sup n + 2 ( height ):-->
672 <mml:mrow>
673 <mml:msup><mml:mn>2</mml:mn>
674 <mml:mi mathvariant="italic">n</mml:mi>
675 </mml:msup>
676 <mml:mo>+</mml:mo>
677 <mml:mrow>
678 <mml:mn>2</mml:mn>
679 <mml:mo>&af;</mml:mo>
680 <mml:mfenced open="(" close=")">
681 <mml:mi mathvariant="italic">border</mml:mi>
682 </mml:mfenced>
683 </mml:mrow>
684 </mml:mrow>
685 </mml:math></inlineequation>,
686 for some
687 integer
688 <inlineequation><mml:math><mml:mi mathvariant="italic">n</mml:mi></mml:math></inlineequation>,
689 and <parameter>height</parameter> must be
690 <inlineequation><mml:math>
691 <!-- eqn: 2 sup m + 2 ( border ):-->
692 <mml:mrow>
693 <mml:msup><mml:mn>2</mml:mn>
694 <mml:mi mathvariant="italic">m</mml:mi>
695 </mml:msup>
696 <mml:mo>+</mml:mo>
697 <mml:mrow>
698 <mml:mn>2</mml:mn>
699 <mml:mo>&af;</mml:mo>
700 <mml:mfenced open="(" close=")">
701 <mml:mi mathvariant="italic">border</mml:mi>
702 </mml:mfenced>
703 </mml:mrow>
704 </mml:mrow>
705 </mml:math></inlineequation>,
706 for some
707 integer
708 <inlineequation><mml:math><mml:mi mathvariant="italic">m</mml:mi></mml:math></inlineequation>,
709 after filtering.
710 </para>
711 </listitem>
712 </varlistentry>
713 <varlistentry>
714 <term>3. RGBA components may be multiplied by <constant>GL_POST_CONVOLUTION_c_SCALE</constant>,</term>
715 <listitem>
716 <para>
717 and added to <constant>GL_POST_CONVOLUTION_c_BIAS</constant>, if enabled. See
718 <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>.
719 </para>
720 </listitem>
721 </varlistentry>
722 <varlistentry>
723 <term>4. Color component replacement by the color table specified for</term>
724 <listitem>
725 <para>
726 <constant>GL_POST_CONVOLUTION_COLOR_TABLE</constant>, if enabled. See <citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>.
727 </para>
728 </listitem>
729 </varlistentry>
730 <varlistentry>
731 <term>5. Transformation by the color matrix.</term>
732 <listitem>
733 <para>
734 See <citerefentry><refentrytitle>glMatrixMode</refentrytitle></citerefentry>.
735 </para>
736 </listitem>
737 </varlistentry>
738 <varlistentry>
739 <term>6. RGBA components may be multiplied by <constant>GL_POST_COLOR_MATRIX_c_SCALE</constant>,</term>
740 <listitem>
741 <para>
742 and added to <constant>GL_POST_COLOR_MATRIX_c_BIAS</constant>, if enabled. See
743 <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>.
744 </para>
745 </listitem>
746 </varlistentry>
747 <varlistentry>
748 <term>7. Color component replacement by the color table specified for</term>
749 <listitem>
750 <para>
751 <constant>GL_POST_COLOR_MATRIX_COLOR_TABLE</constant>, if enabled. See <citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>.
752 </para>
753 </listitem>
754 </varlistentry>
755 </variablelist>
756 <para>
757 The texture image can be represented by the same data formats
758 as the pixels in a <citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry> command,
759 except that <constant>GL_STENCIL_INDEX</constant>
760 cannot be used.
761 <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry> modes affect texture images
762 in exactly the way they affect <citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>.
763 </para>
764 <para>
765 <function>glTexImage2D</function> and <constant>GL_PROXY_TEXTURE_2D</constant> are available only if the GL
766 version is 1.1 or greater.
767 </para>
768 <para>
769 Internal formats other than 1, 2, 3, or 4 may be used only if the GL
770 version is 1.1 or greater.
771 </para>
772 <para>
773 In GL version 1.1 or greater, <parameter>data</parameter> may be a null pointer.
774 In this case, texture memory is
775 allocated to accommodate a texture of width <parameter>width</parameter> and height <parameter>height</parameter>.
776 You can then download subtextures to initialize this
777 texture memory.
778 The image is undefined if the user tries to apply
779 an uninitialized portion of the texture image to a primitive.
780 </para>
781 <para>
782 Formats <constant>GL_BGR</constant>, and <constant>GL_BGRA</constant> and types
783 <constant>GL_UNSIGNED_BYTE_3_3_2</constant>,
784 <constant>GL_UNSIGNED_BYTE_2_3_3_REV</constant>,
785 <constant>GL_UNSIGNED_SHORT_5_6_5</constant>,
786 <constant>GL_UNSIGNED_SHORT_5_6_5_REV</constant>,
787 <constant>GL_UNSIGNED_SHORT_4_4_4_4</constant>,
788 <constant>GL_UNSIGNED_SHORT_4_4_4_4_REV</constant>,
789 <constant>GL_UNSIGNED_SHORT_5_5_5_1</constant>,
790 <constant>GL_UNSIGNED_SHORT_1_5_5_5_REV</constant>,
791 <constant>GL_UNSIGNED_INT_8_8_8_8</constant>,
792 <constant>GL_UNSIGNED_INT_8_8_8_8_REV</constant>,
793 <constant>GL_UNSIGNED_INT_10_10_10_2</constant>, and
794 <constant>GL_UNSIGNED_INT_2_10_10_10_REV</constant> are available only if the GL version
795 is 1.2 or greater.
796 </para>
797 <para>
798 When the <code>ARB_multitexture</code> extension is supported or the GL version is 1.3 or greater, <function>glTexImage2D</function>
799 specifies the two-dimensional texture for the current texture unit,
800 specified with <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>.
801 </para>
802 <para>
803 <constant>GL_TEXTURE_CUBE_MAP</constant> and <constant>GL_PROXY_TEXTURE_CUBE_MAP</constant> are available only if the GL
804 version is 1.3 or greater.
805 </para>
806 <para>
807 <constant>GL_DEPTH_COMPONENT</constant>, <constant>GL_DEPTH_COMPONENT16</constant>,
808 <constant>GL_DEPTH_COMPONENT24</constant>, and <constant>GL_DEPTH_COMPONENT32</constant> are available only
809 if the GL version is 1.4 or greater.
810 </para>
811 <para>
812 Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the <constant>GL_ARB_texture_non_power_of_two</constant> extension.
813 </para>
814 <para>
815 The
816 <constant>GL_SRGB</constant>,
817 <constant>GL_SRGB8</constant>,
818 <constant>GL_SRGB_ALPHA</constant>,
819 <constant>GL_SRGB8_ALPHA8</constant>,
820 <constant>GL_SLUMINANCE</constant>,
821 <constant>GL_SLUMINANCE8</constant>,
822 <constant>GL_SLUMINANCE_ALPHA</constant>, and
823 <constant>GL_SLUMINANCE8_ALPHA8</constant>
824 internal formats are only available if the GL version is 2.1 or greater.
825 </para>
826 </refsect1>
827 <refsect1 id="errors"><title>Errors</title>
828 <para>
829 <constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not <constant>GL_TEXTURE_2D</constant>,
830 <constant>GL_PROXY_TEXTURE_2D</constant>,
831 <constant>GL_PROXY_TEXTURE_CUBE_MAP</constant>,
832 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_X</constant>,
833 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</constant>,
834 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</constant>,
835 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</constant>,
836 <constant>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</constant>, or
837 <constant>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</constant>.
838 </para>
839 <para>
840 <constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is one of the six cube map 2D image targets and the width and height parameters are not equal.
841 </para>
842 <para>
843 <constant>GL_INVALID_ENUM</constant> is generated if <parameter>type</parameter> is not a type constant.
844 </para>
845 <para>
846 <constant>GL_INVALID_ENUM</constant> is generated if <parameter>type</parameter> is <constant>GL_BITMAP</constant> and
847 <parameter>format</parameter> is not <constant>GL_COLOR_INDEX</constant>.
848 </para>
849 <para>
850 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>width</parameter> or <parameter>height</parameter> is less than 0
851 or greater than 2 + <constant>GL_MAX_TEXTURE_SIZE</constant>.
852 </para>
853 <para>
854 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>level</parameter> is less than 0.
855 </para>
856 <para>
857 <constant>GL_INVALID_VALUE</constant> may be generated if <parameter>level</parameter> is greater than
858 <inlineequation><mml:math>
859 <!-- eqn: log sub 2 (max):-->
860 <mml:mrow>
861 <mml:msub><mml:mi mathvariant="italic">log</mml:mi>
862 <mml:mn>2</mml:mn>
863 </mml:msub>
864 <mml:mo>&af;</mml:mo>
865 <mml:mfenced open="(" close=")">
866 <mml:mi mathvariant="italic">max</mml:mi>
867 </mml:mfenced>
868 </mml:mrow>
869 </mml:math></inlineequation>,
870 where <emphasis>max</emphasis> is the returned value of <constant>GL_MAX_TEXTURE_SIZE</constant>.
871 </para>
872 <para>
873 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>internalFormat</parameter> is not 1, 2, 3, 4, or one of the
874 accepted resolution and format symbolic constants.
875 </para>
876 <para>
877 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>width</parameter> or <parameter>height</parameter> is less than 0
878 or greater than 2 + <constant>GL_MAX_TEXTURE_SIZE</constant>.
879 </para>
880 <para>
881 <constant>GL_INVALID_VALUE</constant> is generated if non-power-of-two textures are not supported and the <parameter>width</parameter> or <parameter>height</parameter> cannot be represented as
882 <inlineequation><mml:math>
883 <!-- eqn: 2 sup k + 2(border):-->
884 <mml:mrow>
885 <mml:msup><mml:mn>2</mml:mn>
886 <mml:mi mathvariant="italic">k</mml:mi>
887 </mml:msup>
888 <mml:mo>+</mml:mo>
889 <mml:mrow>
890 <mml:mn>2</mml:mn>
891 <mml:mo>&af;</mml:mo>
892 <mml:mfenced open="(" close=")">
893 <mml:mi mathvariant="italic">border</mml:mi>
894 </mml:mfenced>
895 </mml:mrow>
896 </mml:mrow>
897 </mml:math></inlineequation>
898 for some
899 integer value of <emphasis>k</emphasis>.
900 </para>
901 <para>
902 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>border</parameter> is not 0 or 1.
903 </para>
904 <para>
905 <constant>GL_INVALID_OPERATION</constant> is generated if <parameter>type</parameter> is one of
906 <constant>GL_UNSIGNED_BYTE_3_3_2</constant>,
907 <constant>GL_UNSIGNED_BYTE_2_3_3_REV</constant>,
908 <constant>GL_UNSIGNED_SHORT_5_6_5</constant>, or
909 <constant>GL_UNSIGNED_SHORT_5_6_5_REV</constant>
910 and <parameter>format</parameter> is not <constant>GL_RGB</constant>.
911 </para>
912 <para>
913 <constant>GL_INVALID_OPERATION</constant> is generated if <parameter>type</parameter> is one of
914 <constant>GL_UNSIGNED_SHORT_4_4_4_4</constant>,
915 <constant>GL_UNSIGNED_SHORT_4_4_4_4_REV</constant>,
916 <constant>GL_UNSIGNED_SHORT_5_5_5_1</constant>,
917 <constant>GL_UNSIGNED_SHORT_1_5_5_5_REV</constant>,
918 <constant>GL_UNSIGNED_INT_8_8_8_8</constant>,
919 <constant>GL_UNSIGNED_INT_8_8_8_8_REV</constant>,
920 <constant>GL_UNSIGNED_INT_10_10_10_2</constant>, or
921 <constant>GL_UNSIGNED_INT_2_10_10_10_REV</constant>
922 and <parameter>format</parameter> is neither <constant>GL_RGBA</constant> nor <constant>GL_BGRA</constant>.
923 </para>
924 <para>
925 <constant>GL_INVALID_OPERATION</constant> is generated if <parameter>target</parameter> is not
926 <constant>GL_TEXTURE_2D</constant> or <constant>GL_PROXY_TEXTURE_2D</constant> and <parameter>internalFormat</parameter> is
927 <constant>GL_DEPTH_COMPONENT</constant>, <constant>GL_DEPTH_COMPONENT16</constant>,
928 <constant>GL_DEPTH_COMPONENT24</constant>, or <constant>GL_DEPTH_COMPONENT32</constant>.
929 </para>
930 <para>
931 <constant>GL_INVALID_OPERATION</constant> is generated if <parameter>format</parameter> is
932 <constant>GL_DEPTH_COMPONENT</constant> and <parameter>internalFormat</parameter> is not
933 <constant>GL_DEPTH_COMPONENT</constant>, <constant>GL_DEPTH_COMPONENT16</constant>,
934 <constant>GL_DEPTH_COMPONENT24</constant>, or <constant>GL_DEPTH_COMPONENT32</constant>.
935 </para>
936 <para>
937 <constant>GL_INVALID_OPERATION</constant> is generated if <parameter>internalFormat</parameter> is
938 <constant>GL_DEPTH_COMPONENT</constant>, <constant>GL_DEPTH_COMPONENT16</constant>,
939 <constant>GL_DEPTH_COMPONENT24</constant>, or <constant>GL_DEPTH_COMPONENT32</constant>, and <parameter>format</parameter> is
940 not <constant>GL_DEPTH_COMPONENT</constant>.
941 </para>
942 <para>
943 <constant>GL_INVALID_OPERATION</constant> is generated if a non-zero buffer object name is bound to the
944 <constant>GL_PIXEL_UNPACK_BUFFER</constant> target and the buffer object's data store is currently mapped.
945 </para>
946 <para>
947 <constant>GL_INVALID_OPERATION</constant> is generated if a non-zero buffer object name is bound to the
948 <constant>GL_PIXEL_UNPACK_BUFFER</constant> target and the data would be unpacked from the buffer
949 object such that the memory reads required would exceed the data store size.
950 </para>
951 <para>
952 <constant>GL_INVALID_OPERATION</constant> is generated if a non-zero buffer object name is bound to the
953 <constant>GL_PIXEL_UNPACK_BUFFER</constant> target and <parameter>data</parameter> is not evenly divisible
954 into the number of bytes needed to store in memory a datum indicated by <parameter>type</parameter>.
955 </para>
956 <para>
957 <constant>GL_INVALID_OPERATION</constant> is generated if <function>glTexImage2D</function>
958 is executed between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry>
959 and the corresponding execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
960 </para>
961 </refsect1>
962 <refsect1 id="associatedgets"><title>Associated Gets</title>
963 <para>
964 <citerefentry><refentrytitle>glGetTexImage</refentrytitle></citerefentry>
965 </para>
966 <para>
967 <citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_2D</constant> or <constant>GL_TEXTURE_CUBE_MAP</constant>
968 </para>
969 <para>
970 <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_PIXEL_UNPACK_BUFFER_BINDING</constant>
971 </para>
972 </refsect1>
973 <refsect1 id="seealso"><title>See Also</title>
974 <para>
975 <citerefentry><refentrytitle>glActiveTexture</refentrytitle></citerefentry>,
976 <citerefentry><refentrytitle>glColorTable</refentrytitle></citerefentry>,
977 <citerefentry><refentrytitle>glConvolutionFilter2D</refentrytitle></citerefentry>,
978 <citerefentry><refentrytitle>glCopyPixels</refentrytitle></citerefentry>,
979 <citerefentry><refentrytitle>glCopyTexImage1D</refentrytitle></citerefentry>,
980 <citerefentry><refentrytitle>glCopyTexImage2D</refentrytitle></citerefentry>,
981 <citerefentry><refentrytitle>glCopyTexSubImage1D</refentrytitle></citerefentry>,
982 <citerefentry><refentrytitle>glCopyTexSubImage2D</refentrytitle></citerefentry>,
983 <citerefentry><refentrytitle>glCopyTexSubImage3D</refentrytitle></citerefentry>,
984 <citerefentry><refentrytitle>glDrawPixels</refentrytitle></citerefentry>,
985 <citerefentry><refentrytitle>glMatrixMode</refentrytitle></citerefentry>,
986 <citerefentry><refentrytitle>glPixelStore</refentrytitle></citerefentry>,
987 <citerefentry><refentrytitle>glPixelTransfer</refentrytitle></citerefentry>,
988 <citerefentry><refentrytitle>glSeparableFilter2D</refentrytitle></citerefentry>,
989 <citerefentry><refentrytitle>glTexEnv</refentrytitle></citerefentry>,
990 <citerefentry><refentrytitle>glTexGen</refentrytitle></citerefentry>,
991 <citerefentry><refentrytitle>glTexImage1D</refentrytitle></citerefentry>,
992 <citerefentry><refentrytitle>glTexImage3D</refentrytitle></citerefentry>,
993 <citerefentry><refentrytitle>glTexSubImage1D</refentrytitle></citerefentry>,
994 <citerefentry><refentrytitle>glTexSubImage2D</refentrytitle></citerefentry>,
995 <citerefentry><refentrytitle>glTexSubImage3D</refentrytitle></citerefentry>,
996 <citerefentry><refentrytitle>glTexParameter</refentrytitle></citerefentry>
997 </para>
998 </refsect1>
999 <refsect1 id="Copyright"><title>Copyright</title>
1000 <para>
1001 Copyright <trademark class="copyright"></trademark> 1991-2006
1002 Silicon Graphics, Inc. This document is licensed under the SGI
1003 Free Software B License. For details, see
1004 <ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
1005 </para>
1006 </refsect1>
1007 </refentry>