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=
"glPixelStore">
9 <holder>Silicon Graphics, Inc.
</holder>
12 <refentrytitle>glPixelStore
</refentrytitle>
13 <manvolnum>3G
</manvolnum>
16 <refname>glPixelStore
</refname>
17 <refpurpose>set pixel storage modes
</refpurpose>
19 <refsynopsisdiv><title>C Specification
</title>
22 <funcdef>void
<function>glPixelStoref
</function></funcdef>
23 <paramdef>GLenum
<parameter>pname
</parameter></paramdef>
24 <paramdef>GLfloat
<parameter>param
</parameter></paramdef>
29 <funcdef>void
<function>glPixelStorei
</function></funcdef>
30 <paramdef>GLenum
<parameter>pname
</parameter></paramdef>
31 <paramdef>GLint
<parameter>param
</parameter></paramdef>
35 <!-- eqn: ignoring delim $$ -->
36 <refsect1 id=
"parameters"><title>Parameters
</title>
39 <term><parameter>pname
</parameter></term>
42 Specifies the symbolic name of the parameter to be set.
43 Six values affect the packing of pixel data into memory:
44 <constant>GL_PACK_SWAP_BYTES
</constant>,
45 <constant>GL_PACK_LSB_FIRST
</constant>,
46 <constant>GL_PACK_ROW_LENGTH
</constant>,
47 <constant>GL_PACK_IMAGE_HEIGHT
</constant>,
48 <constant>GL_PACK_SKIP_PIXELS
</constant>,
49 <constant>GL_PACK_SKIP_ROWS
</constant>,
50 <constant>GL_PACK_SKIP_IMAGES
</constant>, and
51 <constant>GL_PACK_ALIGNMENT
</constant>.
52 Six more affect the unpacking of pixel data
<emphasis>from
</emphasis> memory:
53 <constant>GL_UNPACK_SWAP_BYTES
</constant>,
54 <constant>GL_UNPACK_LSB_FIRST
</constant>,
55 <constant>GL_UNPACK_ROW_LENGTH
</constant>,
56 <constant>GL_UNPACK_IMAGE_HEIGHT
</constant>,
57 <constant>GL_UNPACK_SKIP_PIXELS
</constant>,
58 <constant>GL_UNPACK_SKIP_ROWS
</constant>,
59 <constant>GL_UNPACK_SKIP_IMAGES
</constant>, and
60 <constant>GL_UNPACK_ALIGNMENT
</constant>.
65 <term><parameter>param
</parameter></term>
68 Specifies the value that
<parameter>pname
</parameter> is set to.
74 <refsect1 id=
"description"><title>Description
</title>
76 <function>glPixelStore
</function> sets pixel storage modes that affect the operation of subsequent
77 <citerefentry><refentrytitle>glDrawPixels
</refentrytitle></citerefentry> and
<citerefentry><refentrytitle>glReadPixels
</refentrytitle></citerefentry> as well as the unpacking of
78 polygon stipple patterns (see
<citerefentry><refentrytitle>glPolygonStipple
</refentrytitle></citerefentry>), bitmaps (see
79 <citerefentry><refentrytitle>glBitmap
</refentrytitle></citerefentry>), texture patterns (see
<citerefentry><refentrytitle>glTexImage1D
</refentrytitle></citerefentry>,
80 <citerefentry><refentrytitle>glTexImage2D
</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexSubImage1D
</refentrytitle></citerefentry>,
81 <citerefentry><refentrytitle>glTexSubImage2D
</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexSubImage3D
</refentrytitle></citerefentry>).
82 Additionally, if the
<code>ARB_imaging
</code> extension is supported, pixel
83 storage modes affect convolution filters
84 (see
<citerefentry><refentrytitle>glConvolutionFilter1D
</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glConvolutionFilter2D
</refentrytitle></citerefentry>, and
85 <citerefentry><refentrytitle>glSeparableFilter2D
</refentrytitle></citerefentry>, color table (see
<citerefentry><refentrytitle>glColorTable
</refentrytitle></citerefentry>, and
86 <citerefentry><refentrytitle>glColorSubTable
</refentrytitle></citerefentry>, and unpacking histogram (See
<citerefentry><refentrytitle>glHistogram
</refentrytitle></citerefentry>),
87 and minmax (See
<citerefentry><refentrytitle>glMinmax
</refentrytitle></citerefentry>) data.
90 <parameter>pname
</parameter> is a symbolic constant indicating the parameter to be set, and
91 <parameter>param
</parameter> is the new value. Six of the twelve storage parameters affect
92 how pixel data is returned to client memory.
97 <term><constant>GL_PACK_SWAP_BYTES
</constant></term>
101 byte ordering for multibyte color components,
107 if a four-byte component consists of bytes
108 <inlineequation><mml:math>
109 <!-- eqn: b sub 0:-->
110 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
113 </mml:math></inlineequation>,
114 <inlineequation><mml:math>
115 <!-- eqn: b sub 1:-->
116 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
119 </mml:math></inlineequation>,
120 <inlineequation><mml:math>
121 <!-- eqn: b sub 2:-->
122 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
125 </mml:math></inlineequation>,
126 <inlineequation><mml:math>
127 <!-- eqn: b sub 3:-->
128 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
131 </mml:math></inlineequation>,
132 it is stored in memory as
133 <inlineequation><mml:math>
134 <!-- eqn: b sub 3:-->
135 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
138 </mml:math></inlineequation>,
139 <inlineequation><mml:math>
140 <!-- eqn: b sub 2:-->
141 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
144 </mml:math></inlineequation>,
145 <inlineequation><mml:math>
146 <!-- eqn: b sub 1:-->
147 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
150 </mml:math></inlineequation>,
151 <inlineequation><mml:math>
152 <!-- eqn: b sub 0:-->
153 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
156 </mml:math></inlineequation>
157 if
<constant>GL_PACK_SWAP_BYTES
</constant> is true.
158 <constant>GL_PACK_SWAP_BYTES
</constant> has no effect on the memory order of components
160 only on the order of bytes within components or indices.
162 the three components of a
<constant>GL_RGB
</constant> format pixel are always stored with
166 regardless of the value of
<constant>GL_PACK_SWAP_BYTES
</constant>.
171 <term><constant>GL_PACK_LSB_FIRST
</constant></term>
175 bits are ordered within a byte from least significant to most significant;
177 the first bit in each byte is the most significant one.
178 This parameter is significant for bitmap data only.
183 <term><constant>GL_PACK_ROW_LENGTH
</constant></term>
187 <constant>GL_PACK_ROW_LENGTH
</constant> defines the number of pixels in a row.
188 If the first pixel of a row is placed at location
189 <inlineequation><mml:math><mml:mi mathvariant=
"italic">p
</mml:mi></mml:math></inlineequation>
191 then the location of the first pixel of the next row is obtained by skipping
194 <informalequation><mml:math>
195 <!-- eqn: k = left { lpile { n l above {a over s} left ceiling { s n l } over a right ceiling} lpile {s >= a above s < a }:-->
197 <mml:mi mathvariant=
"italic">k
</mml:mi>
199 <mml:mfenced open=
"{" close=
"">
204 <mml:mi mathvariant=
"italic">n
</mml:mi>
205 <mml:mo>⁢</mml:mo>
206 <mml:mi mathvariant=
"italic">l
</mml:mi>
211 <mml:mfenced open=
"" close=
"">
213 <mml:mi mathvariant=
"italic">a
</mml:mi>
214 <mml:mi mathvariant=
"italic">s
</mml:mi>
217 <mml:mo>⁢</mml:mo>
218 <mml:mfenced open=
"⌈" close=
"⌉">
220 <mml:mfenced open=
"" close=
"">
222 <mml:mi mathvariant=
"italic">s
</mml:mi>
223 <mml:mo>⁢</mml:mo>
224 <mml:mi mathvariant=
"italic">n
</mml:mi>
225 <mml:mo>⁢</mml:mo>
226 <mml:mi mathvariant=
"italic">l
</mml:mi>
229 <mml:mi mathvariant=
"italic">a
</mml:mi>
235 <mml:mo>⁢</mml:mo>
239 <mml:mi mathvariant=
"italic">s
</mml:mi>
240 <mml:mo>>=
</mml:mo>
241 <mml:mi mathvariant=
"italic">a
</mml:mi>
246 <mml:mi mathvariant=
"italic">s
</mml:mi>
247 <mml:mo><</mml:mo>
248 <mml:mi mathvariant=
"italic">a
</mml:mi>
255 </mml:math></informalequation>
258 components or indices,
260 <inlineequation><mml:math><mml:mi mathvariant=
"italic">n
</mml:mi></mml:math></inlineequation>
261 is the number of components or indices in a pixel,
262 <inlineequation><mml:math><mml:mi mathvariant=
"italic">l
</mml:mi></mml:math></inlineequation>
263 is the number of pixels in a row
264 (
<constant>GL_PACK_ROW_LENGTH
</constant> if it is greater than
0,
266 <inlineequation><mml:math><mml:mi mathvariant=
"italic">width
</mml:mi></mml:math></inlineequation>
267 argument to the pixel routine otherwise),
268 <inlineequation><mml:math><mml:mi mathvariant=
"italic">a
</mml:mi></mml:math></inlineequation>
269 is the value of
<constant>GL_PACK_ALIGNMENT
</constant>, and
270 <inlineequation><mml:math><mml:mi mathvariant=
"italic">s
</mml:mi></mml:math></inlineequation>
271 is the size, in bytes, of a single component
273 <inlineequation><mml:math>
276 <mml:mi mathvariant=
"italic">a
</mml:mi>
277 <mml:mo><</mml:mo>
278 <mml:mi mathvariant=
"italic">s
</mml:mi>
280 </mml:math></inlineequation>,
282 <inlineequation><mml:math>
285 <mml:mi mathvariant=
"italic">a
</mml:mi>
287 <mml:mi mathvariant=
"italic">s
</mml:mi>
289 </mml:math></inlineequation>).
290 In the case of
1-bit values,
291 the location of the next row is obtained by skipping
294 <inlineequation><mml:math>
295 <!-- eqn: k = 8 a left ceiling { n l } over { 8 a } right ceiling:-->
297 <mml:mi mathvariant=
"italic">k
</mml:mi>
301 <mml:mo>⁢</mml:mo>
302 <mml:mi mathvariant=
"italic">a
</mml:mi>
303 <mml:mo>⁢</mml:mo>
304 <mml:mfenced open=
"⌈" close=
"⌉">
306 <mml:mfenced open=
"" close=
"">
308 <mml:mi mathvariant=
"italic">n
</mml:mi>
309 <mml:mo>⁢</mml:mo>
310 <mml:mi mathvariant=
"italic">l
</mml:mi>
313 <mml:mfenced open=
"" close=
"">
316 <mml:mo>⁢</mml:mo>
317 <mml:mi mathvariant=
"italic">a
</mml:mi>
324 </mml:math></inlineequation>
327 components or indices.
330 The word
<emphasis>component
</emphasis> in this description refers to the nonindex values
336 Storage format
<constant>GL_RGB
</constant>,
338 has three components per pixel:
346 <term><constant>GL_PACK_IMAGE_HEIGHT
</constant></term>
350 <constant>GL_PACK_IMAGE_HEIGHT
</constant> defines the number of pixels in an image
351 three-dimensional texture volume, where ``image'' is defined by all pixels
352 sharing the same third dimension index.
353 If the first pixel of a row is placed at location
354 <inlineequation><mml:math><mml:mi mathvariant=
"italic">p
</mml:mi></mml:math></inlineequation>
356 then the location of the first pixel of the next row is obtained by skipping
359 <informalequation><mml:math>
360 <!-- eqn: k = left { lpile { n l h above {a over s} left ceiling { s n l h } over a right ceiling} lpile {s >= a above s < a }:-->
362 <mml:mi mathvariant=
"italic">k
</mml:mi>
364 <mml:mfenced open=
"{" close=
"">
369 <mml:mi mathvariant=
"italic">n
</mml:mi>
370 <mml:mo>⁢</mml:mo>
371 <mml:mi mathvariant=
"italic">l
</mml:mi>
372 <mml:mo>⁢</mml:mo>
373 <mml:mi mathvariant=
"italic">h
</mml:mi>
378 <mml:mfenced open=
"" close=
"">
380 <mml:mi mathvariant=
"italic">a
</mml:mi>
381 <mml:mi mathvariant=
"italic">s
</mml:mi>
384 <mml:mo>⁢</mml:mo>
385 <mml:mfenced open=
"⌈" close=
"⌉">
387 <mml:mfenced open=
"" close=
"">
389 <mml:mi mathvariant=
"italic">s
</mml:mi>
390 <mml:mo>⁢</mml:mo>
391 <mml:mi mathvariant=
"italic">n
</mml:mi>
392 <mml:mo>⁢</mml:mo>
393 <mml:mi mathvariant=
"italic">l
</mml:mi>
394 <mml:mo>⁢</mml:mo>
395 <mml:mi mathvariant=
"italic">h
</mml:mi>
398 <mml:mi mathvariant=
"italic">a
</mml:mi>
404 <mml:mo>⁢</mml:mo>
408 <mml:mi mathvariant=
"italic">s
</mml:mi>
409 <mml:mo>>=
</mml:mo>
410 <mml:mi mathvariant=
"italic">a
</mml:mi>
415 <mml:mi mathvariant=
"italic">s
</mml:mi>
416 <mml:mo><</mml:mo>
417 <mml:mi mathvariant=
"italic">a
</mml:mi>
424 </mml:math></informalequation>
427 components or indices, where
428 <inlineequation><mml:math><mml:mi mathvariant=
"italic">n
</mml:mi></mml:math></inlineequation>
429 is the number of components or indices
431 <inlineequation><mml:math><mml:mi mathvariant=
"italic">l
</mml:mi></mml:math></inlineequation>
432 is the number of pixels in a row
433 (
<constant>GL_PACK_ROW_LENGTH
</constant> if it is greater than
0, the
434 <inlineequation><mml:math><mml:mi mathvariant=
"italic">width
</mml:mi></mml:math></inlineequation>
435 argument to
<citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry> otherwise),
436 <inlineequation><mml:math><mml:mi mathvariant=
"italic">h
</mml:mi></mml:math></inlineequation>
438 rows in a pixel image (
<constant>GL_PACK_IMAGE_HEIGHT
</constant> if it is greater than
440 <inlineequation><mml:math><mml:mi mathvariant=
"italic">height
</mml:mi></mml:math></inlineequation>
441 argument to the
<citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry> routine otherwise),
442 <inlineequation><mml:math><mml:mi mathvariant=
"italic">a
</mml:mi></mml:math></inlineequation>
444 <constant>GL_PACK_ALIGNMENT
</constant>, and
445 <inlineequation><mml:math><mml:mi mathvariant=
"italic">s
</mml:mi></mml:math></inlineequation>
446 is the size, in bytes, of a single
448 <inlineequation><mml:math>
451 <mml:mi mathvariant=
"italic">a
</mml:mi>
452 <mml:mo><</mml:mo>
453 <mml:mi mathvariant=
"italic">s
</mml:mi>
455 </mml:math></inlineequation>,
457 <inlineequation><mml:math>
460 <mml:mi mathvariant=
"italic">a
</mml:mi>
462 <mml:mi mathvariant=
"italic">s
</mml:mi>
464 </mml:math></inlineequation>).
467 The word
<emphasis>component
</emphasis> in this description refers to the nonindex values
473 Storage format
<constant>GL_RGB
</constant>,
475 has three components per pixel:
483 <term><constant>GL_PACK_SKIP_PIXELS
</constant>,
<constant>GL_PACK_SKIP_ROWS
</constant>, and
<constant>GL_PACK_SKIP_IMAGES
</constant></term>
486 These values are provided as a convenience to the programmer;
487 they provide no functionality that cannot be duplicated simply by
488 incrementing the pointer passed to
<citerefentry><refentrytitle>glReadPixels
</refentrytitle></citerefentry>.
489 Setting
<constant>GL_PACK_SKIP_PIXELS
</constant> to
490 <inlineequation><mml:math><mml:mi mathvariant=
"italic">i
</mml:mi></mml:math></inlineequation>
491 is equivalent to incrementing
493 <inlineequation><mml:math>
496 <mml:mi mathvariant=
"italic">i
</mml:mi>
497 <mml:mo>⁢</mml:mo>
498 <mml:mi mathvariant=
"italic">n
</mml:mi>
500 </mml:math></inlineequation>
501 components or indices,
503 <inlineequation><mml:math><mml:mi mathvariant=
"italic">n
</mml:mi></mml:math></inlineequation>
504 is the number of components or indices in each pixel.
505 Setting
<constant>GL_PACK_SKIP_ROWS
</constant> to
506 <inlineequation><mml:math><mml:mi mathvariant=
"italic">j
</mml:mi></mml:math></inlineequation>
507 is equivalent to incrementing
509 <inlineequation><mml:math>
512 <mml:mi mathvariant=
"italic">j
</mml:mi>
513 <mml:mo>⁢</mml:mo>
514 <mml:mi mathvariant=
"italic">m
</mml:mi>
516 </mml:math></inlineequation>
517 components or indices,
519 <inlineequation><mml:math><mml:mi mathvariant=
"italic">m
</mml:mi></mml:math></inlineequation>
520 is the number of components or indices per row,
521 as just computed in the
<constant>GL_PACK_ROW_LENGTH
</constant> section.
522 Setting
<constant>GL_PACK_SKIP_IMAGES
</constant> to
523 <inlineequation><mml:math><mml:mi mathvariant=
"italic">k
</mml:mi></mml:math></inlineequation>
524 is equivalent to incrementing
526 <inlineequation><mml:math>
529 <mml:mi mathvariant=
"italic">k
</mml:mi>
530 <mml:mo>⁢</mml:mo>
531 <mml:mi mathvariant=
"italic">p
</mml:mi>
533 </mml:math></inlineequation>,
535 <inlineequation><mml:math><mml:mi mathvariant=
"italic">p
</mml:mi></mml:math></inlineequation>
536 is the number of components or indices
537 per image, as computed in the
<constant>GL_PACK_IMAGE_HEIGHT
</constant> section.
542 <term><constant>GL_PACK_ALIGNMENT
</constant></term>
545 Specifies the alignment requirements for the start of each pixel row in memory.
546 The allowable values are
548 2 (rows aligned to even-numbered bytes),
549 4 (word-alignment), and
550 8 (rows start on double-word boundaries).
556 The other six of the twelve storage parameters affect how pixel data is
557 read from client memory.
558 These values are significant for
<citerefentry><refentrytitle>glDrawPixels
</refentrytitle></citerefentry>,
559 <citerefentry><refentrytitle>glTexImage1D
</refentrytitle></citerefentry>,
560 <citerefentry><refentrytitle>glTexImage2D
</refentrytitle></citerefentry>,
561 <citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry>,
562 <citerefentry><refentrytitle>glTexSubImage1D
</refentrytitle></citerefentry>,
563 <citerefentry><refentrytitle>glTexSubImage2D
</refentrytitle></citerefentry>,
564 <citerefentry><refentrytitle>glTexSubImage3D
</refentrytitle></citerefentry>,
565 <citerefentry><refentrytitle>glBitmap
</refentrytitle></citerefentry>, and
566 <citerefentry><refentrytitle>glPolygonStipple
</refentrytitle></citerefentry>.
569 Additionally, if the
<code>ARB_imaging
</code> extension is supported,
570 <citerefentry><refentrytitle>glColorTable
</refentrytitle></citerefentry>,
571 <citerefentry><refentrytitle>glColorSubTable
</refentrytitle></citerefentry>,
572 <citerefentry><refentrytitle>glConvolutionFilter1D
</refentrytitle></citerefentry>,
573 <citerefentry><refentrytitle>glConvolutionFilter2D
</refentrytitle></citerefentry>, and
574 <citerefentry><refentrytitle>glSeparableFilter2D
</refentrytitle></citerefentry>.
579 <term><constant>GL_UNPACK_SWAP_BYTES
</constant></term>
583 byte ordering for multibyte color components,
589 if a four-byte component consists of bytes
590 <inlineequation><mml:math>
591 <!-- eqn: b sub 0:-->
592 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
595 </mml:math></inlineequation>,
596 <inlineequation><mml:math>
597 <!-- eqn: b sub 1:-->
598 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
601 </mml:math></inlineequation>,
602 <inlineequation><mml:math>
603 <!-- eqn: b sub 2:-->
604 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
607 </mml:math></inlineequation>,
608 <inlineequation><mml:math>
609 <!-- eqn: b sub 3:-->
610 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
613 </mml:math></inlineequation>,
614 it is taken from memory as
615 <inlineequation><mml:math>
616 <!-- eqn: b sub 3:-->
617 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
620 </mml:math></inlineequation>,
621 <inlineequation><mml:math>
622 <!-- eqn: b sub 2:-->
623 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
626 </mml:math></inlineequation>,
627 <inlineequation><mml:math>
628 <!-- eqn: b sub 1:-->
629 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
632 </mml:math></inlineequation>,
633 <inlineequation><mml:math>
634 <!-- eqn: b sub 0:-->
635 <mml:msub><mml:mi mathvariant=
"italic">b
</mml:mi>
638 </mml:math></inlineequation>
639 if
<constant>GL_UNPACK_SWAP_BYTES
</constant> is true.
640 <constant>GL_UNPACK_SWAP_BYTES
</constant> has no effect on the memory order of components
642 only on the order of bytes within components or indices.
644 the three components of a
<constant>GL_RGB
</constant> format pixel are always stored with
648 regardless of the value of
<constant>GL_UNPACK_SWAP_BYTES
</constant>.
653 <term><constant>GL_UNPACK_LSB_FIRST
</constant></term>
657 bits are ordered within a byte from least significant to most significant;
659 the first bit in each byte is the most significant one.
660 This is relevant only for bitmap data.
665 <term><constant>GL_UNPACK_ROW_LENGTH
</constant></term>
669 <constant>GL_UNPACK_ROW_LENGTH
</constant> defines the number of pixels in a row.
670 If the first pixel of a row is placed at location
671 <inlineequation><mml:math><mml:mi mathvariant=
"italic">p
</mml:mi></mml:math></inlineequation>
673 then the location of the first pixel of the next row is obtained by skipping
676 <informalequation><mml:math>
677 <!-- eqn: k = left { lpile { n l above {a over s} left ceiling { s n l } over a right ceiling } lpile { s >= a above s < a }:-->
679 <mml:mi mathvariant=
"italic">k
</mml:mi>
681 <mml:mfenced open=
"{" close=
"">
686 <mml:mi mathvariant=
"italic">n
</mml:mi>
687 <mml:mo>⁢</mml:mo>
688 <mml:mi mathvariant=
"italic">l
</mml:mi>
693 <mml:mfenced open=
"" close=
"">
695 <mml:mi mathvariant=
"italic">a
</mml:mi>
696 <mml:mi mathvariant=
"italic">s
</mml:mi>
699 <mml:mo>⁢</mml:mo>
700 <mml:mfenced open=
"⌈" close=
"⌉">
702 <mml:mfenced open=
"" close=
"">
704 <mml:mi mathvariant=
"italic">s
</mml:mi>
705 <mml:mo>⁢</mml:mo>
706 <mml:mi mathvariant=
"italic">n
</mml:mi>
707 <mml:mo>⁢</mml:mo>
708 <mml:mi mathvariant=
"italic">l
</mml:mi>
711 <mml:mi mathvariant=
"italic">a
</mml:mi>
717 <mml:mo>⁢</mml:mo>
721 <mml:mi mathvariant=
"italic">s
</mml:mi>
722 <mml:mo>>=
</mml:mo>
723 <mml:mi mathvariant=
"italic">a
</mml:mi>
728 <mml:mi mathvariant=
"italic">s
</mml:mi>
729 <mml:mo><</mml:mo>
730 <mml:mi mathvariant=
"italic">a
</mml:mi>
737 </mml:math></informalequation>
740 components or indices,
742 <inlineequation><mml:math><mml:mi mathvariant=
"italic">n
</mml:mi></mml:math></inlineequation>
743 is the number of components or indices in a pixel,
744 <inlineequation><mml:math><mml:mi mathvariant=
"italic">l
</mml:mi></mml:math></inlineequation>
745 is the number of pixels in a row
746 (
<constant>GL_UNPACK_ROW_LENGTH
</constant> if it is greater than
0,
748 <inlineequation><mml:math><mml:mi mathvariant=
"italic">width
</mml:mi></mml:math></inlineequation>
749 argument to the pixel routine otherwise),
750 <inlineequation><mml:math><mml:mi mathvariant=
"italic">a
</mml:mi></mml:math></inlineequation>
751 is the value of
<constant>GL_UNPACK_ALIGNMENT
</constant>, and
752 <inlineequation><mml:math><mml:mi mathvariant=
"italic">s
</mml:mi></mml:math></inlineequation>
753 is the size, in bytes, of a single component
755 <inlineequation><mml:math>
758 <mml:mi mathvariant=
"italic">a
</mml:mi>
759 <mml:mo><</mml:mo>
760 <mml:mi mathvariant=
"italic">s
</mml:mi>
762 </mml:math></inlineequation>,
764 <inlineequation><mml:math>
767 <mml:mi mathvariant=
"italic">a
</mml:mi>
769 <mml:mi mathvariant=
"italic">s
</mml:mi>
771 </mml:math></inlineequation>).
772 In the case of
1-bit values,
773 the location of the next row is obtained by skipping
776 <inlineequation><mml:math>
777 <!-- eqn: k = 8 a left ceiling { n l } over { 8 a } right ceiling:-->
779 <mml:mi mathvariant=
"italic">k
</mml:mi>
783 <mml:mo>⁢</mml:mo>
784 <mml:mi mathvariant=
"italic">a
</mml:mi>
785 <mml:mo>⁢</mml:mo>
786 <mml:mfenced open=
"⌈" close=
"⌉">
788 <mml:mfenced open=
"" close=
"">
790 <mml:mi mathvariant=
"italic">n
</mml:mi>
791 <mml:mo>⁢</mml:mo>
792 <mml:mi mathvariant=
"italic">l
</mml:mi>
795 <mml:mfenced open=
"" close=
"">
798 <mml:mo>⁢</mml:mo>
799 <mml:mi mathvariant=
"italic">a
</mml:mi>
806 </mml:math></inlineequation>
809 components or indices.
812 The word
<emphasis>component
</emphasis> in this description refers to the nonindex values
818 Storage format
<constant>GL_RGB
</constant>,
820 has three components per pixel:
828 <term><constant>GL_UNPACK_IMAGE_HEIGHT
</constant></term>
832 <constant>GL_UNPACK_IMAGE_HEIGHT
</constant> defines the number of pixels in an image of
833 a three-dimensional texture volume. Where ``image'' is defined by all
834 pixel sharing the same third dimension index.
835 If the first pixel of a row is placed at location
836 <inlineequation><mml:math><mml:mi mathvariant=
"italic">p
</mml:mi></mml:math></inlineequation>
838 then the location of the first pixel of the next row is obtained by skipping
841 <informalequation><mml:math>
842 <!-- eqn: k = left { lpile { n l h above {a over s} left ceiling { s n l h } over a right ceiling } lpile { s >= a above s < a }:-->
844 <mml:mi mathvariant=
"italic">k
</mml:mi>
846 <mml:mfenced open=
"{" close=
"">
851 <mml:mi mathvariant=
"italic">n
</mml:mi>
852 <mml:mo>⁢</mml:mo>
853 <mml:mi mathvariant=
"italic">l
</mml:mi>
854 <mml:mo>⁢</mml:mo>
855 <mml:mi mathvariant=
"italic">h
</mml:mi>
860 <mml:mfenced open=
"" close=
"">
862 <mml:mi mathvariant=
"italic">a
</mml:mi>
863 <mml:mi mathvariant=
"italic">s
</mml:mi>
866 <mml:mo>⁢</mml:mo>
867 <mml:mfenced open=
"⌈" close=
"⌉">
869 <mml:mfenced open=
"" close=
"">
871 <mml:mi mathvariant=
"italic">s
</mml:mi>
872 <mml:mo>⁢</mml:mo>
873 <mml:mi mathvariant=
"italic">n
</mml:mi>
874 <mml:mo>⁢</mml:mo>
875 <mml:mi mathvariant=
"italic">l
</mml:mi>
876 <mml:mo>⁢</mml:mo>
877 <mml:mi mathvariant=
"italic">h
</mml:mi>
880 <mml:mi mathvariant=
"italic">a
</mml:mi>
886 <mml:mo>⁢</mml:mo>
890 <mml:mi mathvariant=
"italic">s
</mml:mi>
891 <mml:mo>>=
</mml:mo>
892 <mml:mi mathvariant=
"italic">a
</mml:mi>
897 <mml:mi mathvariant=
"italic">s
</mml:mi>
898 <mml:mo><</mml:mo>
899 <mml:mi mathvariant=
"italic">a
</mml:mi>
906 </mml:math></informalequation>
909 components or indices,
911 <inlineequation><mml:math><mml:mi mathvariant=
"italic">n
</mml:mi></mml:math></inlineequation>
912 is the number of components or indices in a pixel,
913 <inlineequation><mml:math><mml:mi mathvariant=
"italic">l
</mml:mi></mml:math></inlineequation>
914 is the number of pixels in a row
915 (
<constant>GL_UNPACK_ROW_LENGTH
</constant> if it is greater than
0,
917 <inlineequation><mml:math><mml:mi mathvariant=
"italic">width
</mml:mi></mml:math></inlineequation>
918 argument to
<citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry> otherwise),
919 <inlineequation><mml:math><mml:mi mathvariant=
"italic">h
</mml:mi></mml:math></inlineequation>
920 is the number of rows in an image (
<constant>GL_UNPACK_IMAGE_HEIGHT
</constant> if
921 it is greater than
0, the
922 <inlineequation><mml:math><mml:mi mathvariant=
"italic">height
</mml:mi></mml:math></inlineequation>
923 argument to
<citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry> otherwise),
924 <inlineequation><mml:math><mml:mi mathvariant=
"italic">a
</mml:mi></mml:math></inlineequation>
925 is the value of
<constant>GL_UNPACK_ALIGNMENT
</constant>, and
926 <inlineequation><mml:math><mml:mi mathvariant=
"italic">s
</mml:mi></mml:math></inlineequation>
927 is the size, in bytes, of a single component
929 <inlineequation><mml:math>
932 <mml:mi mathvariant=
"italic">a
</mml:mi>
933 <mml:mo><</mml:mo>
934 <mml:mi mathvariant=
"italic">s
</mml:mi>
936 </mml:math></inlineequation>,
938 <inlineequation><mml:math>
941 <mml:mi mathvariant=
"italic">a
</mml:mi>
943 <mml:mi mathvariant=
"italic">s
</mml:mi>
945 </mml:math></inlineequation>).
948 The word
<emphasis>component
</emphasis> in this description refers to the nonindex values
954 Storage format
<constant>GL_RGB
</constant>,
956 has three components per pixel:
964 <term><constant>GL_UNPACK_SKIP_PIXELS
</constant> and
<constant>GL_UNPACK_SKIP_ROWS
</constant></term>
967 These values are provided as a convenience to the programmer;
968 they provide no functionality that cannot be duplicated by
969 incrementing the pointer passed to
970 <citerefentry><refentrytitle>glDrawPixels
</refentrytitle></citerefentry>,
971 <citerefentry><refentrytitle>glTexImage1D
</refentrytitle></citerefentry>,
972 <citerefentry><refentrytitle>glTexImage2D
</refentrytitle></citerefentry>,
973 <citerefentry><refentrytitle>glTexSubImage1D
</refentrytitle></citerefentry>,
974 <citerefentry><refentrytitle>glTexSubImage2D
</refentrytitle></citerefentry>,
975 <citerefentry><refentrytitle>glBitmap
</refentrytitle></citerefentry>, or
976 <citerefentry><refentrytitle>glPolygonStipple
</refentrytitle></citerefentry>.
977 Setting
<constant>GL_UNPACK_SKIP_PIXELS
</constant> to
978 <inlineequation><mml:math><mml:mi mathvariant=
"italic">i
</mml:mi></mml:math></inlineequation>
979 is equivalent to incrementing
981 <inlineequation><mml:math>
984 <mml:mi mathvariant=
"italic">i
</mml:mi>
985 <mml:mo>⁢</mml:mo>
986 <mml:mi mathvariant=
"italic">n
</mml:mi>
988 </mml:math></inlineequation>
989 components or indices,
991 <inlineequation><mml:math><mml:mi mathvariant=
"italic">n
</mml:mi></mml:math></inlineequation>
992 is the number of components or indices in each pixel.
993 Setting
<constant>GL_UNPACK_SKIP_ROWS
</constant> to
994 <inlineequation><mml:math><mml:mi mathvariant=
"italic">j
</mml:mi></mml:math></inlineequation>
995 is equivalent to incrementing
997 <inlineequation><mml:math>
1000 <mml:mi mathvariant=
"italic">j
</mml:mi>
1001 <mml:mo>⁢</mml:mo>
1002 <mml:mi mathvariant=
"italic">k
</mml:mi>
1004 </mml:math></inlineequation>
1005 components or indices,
1007 <inlineequation><mml:math><mml:mi mathvariant=
"italic">k
</mml:mi></mml:math></inlineequation>
1008 is the number of components or indices per row,
1009 as just computed in the
<constant>GL_UNPACK_ROW_LENGTH
</constant> section.
1014 <term><constant>GL_UNPACK_ALIGNMENT
</constant></term>
1017 Specifies the alignment requirements for the start of each pixel row in memory.
1018 The allowable values are
1020 2 (rows aligned to even-numbered bytes),
1021 4 (word-alignment), and
1022 8 (rows start on double-word boundaries).
1028 The following table gives the type,
1030 and range of valid values for each storage parameter
1031 that can be set with
<function>glPixelStore
</function>.
1035 <informaltable frame=
"topbot">
1036 <tgroup cols=
"4" align=
"left">
1037 <colspec colwidth=
"2.5*" />
1038 <colspec colwidth=
"1*" align=
"center"/>
1039 <colspec colwidth=
"1*" align=
"center"/>
1040 <colspec colwidth=
"2*" align=
"center"/>
1043 <entry rowsep=
"1" align=
"left"><emphasis role=
"bold">
1044 <parameter>pname
</parameter>
1046 <entry rowsep=
"1" align=
"center"><emphasis role=
"bold">
1049 <entry rowsep=
"1" align=
"center"><emphasis role=
"bold">
1052 <entry rowsep=
"1" align=
"center"><emphasis role=
"bold">
1059 <entry align=
"left">
1060 <constant>GL_PACK_SWAP_BYTES
</constant>
1062 <entry align=
"center">
1065 <entry align=
"center">
1068 <entry align=
"center">
1073 <entry align=
"left">
1074 <constant>GL_PACK_LSB_FIRST
</constant>
1076 <entry align=
"center">
1079 <entry align=
"center">
1082 <entry align=
"center">
1087 <entry align=
"left">
1088 <constant>GL_PACK_ROW_LENGTH
</constant>
1090 <entry align=
"center">
1093 <entry align=
"center">
1096 <entry align=
"center">
1097 <inlineequation><mml:math>
1098 <!-- eqn: left [ 0,\(if right ):-->
1099 <mml:mfenced open=
"[" close=
")">
1103 </mml:math></inlineequation>
1107 <entry align=
"left">
1108 <constant>GL_PACK_IMAGE_HEIGHT
</constant>
1110 <entry align=
"center">
1113 <entry align=
"center">
1116 <entry align=
"center">
1117 <inlineequation><mml:math>
1118 <!-- eqn: left [ 0, \(if right ):-->
1119 <mml:mfenced open=
"[" close=
")">
1123 </mml:math></inlineequation>
1127 <entry align=
"left">
1128 <constant>GL_PACK_SKIP_ROWS
</constant>
1130 <entry align=
"center">
1133 <entry align=
"center">
1136 <entry align=
"center">
1137 <inlineequation><mml:math>
1138 <!-- eqn: left [ 0,\(if right ):-->
1139 <mml:mfenced open=
"[" close=
")">
1143 </mml:math></inlineequation>
1147 <entry align=
"left">
1148 <constant>GL_PACK_SKIP_PIXELS
</constant>
1150 <entry align=
"center">
1153 <entry align=
"center">
1156 <entry align=
"center">
1157 <inlineequation><mml:math>
1158 <!-- eqn: left [ 0,\(if right ):-->
1159 <mml:mfenced open=
"[" close=
")">
1163 </mml:math></inlineequation>
1167 <entry align=
"left">
1168 <constant>GL_PACK_SKIP_IMAGES
</constant>
1170 <entry align=
"center">
1173 <entry align=
"center">
1176 <entry align=
"center">
1177 <inlineequation><mml:math>
1178 <!-- eqn: left [ 0,\(if right ):-->
1179 <mml:mfenced open=
"[" close=
")">
1183 </mml:math></inlineequation>
1187 <entry align=
"left">
1188 <constant>GL_PACK_ALIGNMENT
</constant>
1190 <entry align=
"center">
1193 <entry align=
"center">
1196 <entry align=
"center">
1201 <entry align=
"left">
1202 <constant>GL_UNPACK_SWAP_BYTES
</constant>
1204 <entry align=
"center">
1207 <entry align=
"center">
1210 <entry align=
"center">
1215 <entry align=
"left">
1216 <constant>GL_UNPACK_LSB_FIRST
</constant>
1218 <entry align=
"center">
1221 <entry align=
"center">
1224 <entry align=
"center">
1229 <entry align=
"left">
1230 <constant>GL_UNPACK_ROW_LENGTH
</constant>
1232 <entry align=
"center">
1235 <entry align=
"center">
1238 <entry align=
"center">
1239 <inlineequation><mml:math>
1240 <!-- eqn: left [ 0,\(if right ):-->
1241 <mml:mfenced open=
"[" close=
")">
1245 </mml:math></inlineequation>
1249 <entry align=
"left">
1250 <constant>GL_UNPACK_IMAGE_HEIGHT
</constant>
1252 <entry align=
"center">
1255 <entry align=
"center">
1258 <entry align=
"center">
1259 <inlineequation><mml:math>
1260 <!-- eqn: left [ 0,\(if right ):-->
1261 <mml:mfenced open=
"[" close=
")">
1265 </mml:math></inlineequation>
1269 <entry align=
"left">
1270 <constant>GL_UNPACK_SKIP_ROWS
</constant>
1272 <entry align=
"center">
1275 <entry align=
"center">
1278 <entry align=
"center">
1279 <inlineequation><mml:math>
1280 <!-- eqn: left [ 0,\(if right ):-->
1281 <mml:mfenced open=
"[" close=
")">
1285 </mml:math></inlineequation>
1289 <entry align=
"left">
1290 <constant>GL_UNPACK_SKIP_PIXELS
</constant>
1292 <entry align=
"center">
1295 <entry align=
"center">
1298 <entry align=
"center">
1299 <inlineequation><mml:math>
1300 <!-- eqn: left [ 0,\(if right ):-->
1301 <mml:mfenced open=
"[" close=
")">
1305 </mml:math></inlineequation>
1309 <entry align=
"left">
1310 <constant>GL_UNPACK_SKIP_IMAGES
</constant>
1312 <entry align=
"center">
1315 <entry align=
"center">
1318 <entry align=
"center">
1319 <inlineequation><mml:math>
1320 <!-- eqn: left [ 0,\(if right ):-->
1321 <mml:mfenced open=
"[" close=
")">
1325 </mml:math></inlineequation>
1329 <entry align=
"left">
1330 <constant>GL_UNPACK_ALIGNMENT
</constant>
1332 <entry align=
"center">
1335 <entry align=
"center">
1338 <entry align=
"center">
1346 <function>glPixelStoref
</function> can be used to set any pixel store parameter.
1347 If the parameter type is boolean,
1348 then if
<parameter>param
</parameter> is
0,
1349 the parameter is false;
1350 otherwise it is set to true.
1351 If
<parameter>pname
</parameter> is a integer type parameter,
1352 <parameter>param
</parameter> is rounded to the nearest integer.
1355 Likewise,
<function>glPixelStorei
</function> can also be used to set any of the
1356 pixel store parameters.
1357 Boolean parameters are set to false if
<parameter>param
</parameter> is
0 and true otherwise.
1360 <refsect1 id=
"notes"><title>Notes
</title>
1362 The pixel storage modes in effect when
1363 <citerefentry><refentrytitle>glDrawPixels
</refentrytitle></citerefentry>,
1364 <citerefentry><refentrytitle>glReadPixels
</refentrytitle></citerefentry>,
1365 <citerefentry><refentrytitle>glTexImage1D
</refentrytitle></citerefentry>,
1366 <citerefentry><refentrytitle>glTexImage2D
</refentrytitle></citerefentry>,
1367 <citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry>,
1368 <citerefentry><refentrytitle>glTexSubImage1D
</refentrytitle></citerefentry>,
1369 <citerefentry><refentrytitle>glTexSubImage2D
</refentrytitle></citerefentry>,
1370 <citerefentry><refentrytitle>glTexSubImage3D
</refentrytitle></citerefentry>,
1371 <citerefentry><refentrytitle>glBitmap
</refentrytitle></citerefentry>,
1372 or
<citerefentry><refentrytitle>glPolygonStipple
</refentrytitle></citerefentry> is placed in a display list control the interpretation
1374 Likewise, if the
<code>ARB_imaging
</code> extension is supported, the pixel
1375 storage modes in effect when
1376 <citerefentry><refentrytitle>glColorTable
</refentrytitle></citerefentry>,
1377 <citerefentry><refentrytitle>glColorSubTable
</refentrytitle></citerefentry>,
1378 <citerefentry><refentrytitle>glConvolutionFilter1D
</refentrytitle></citerefentry>,
1379 <citerefentry><refentrytitle>glConvolutionFilter2D
</refentrytitle></citerefentry>, of
1380 <citerefentry><refentrytitle>glSeparableFilter2D
</refentrytitle></citerefentry> is placed in a display list control the
1381 interpretation of memory data.
1382 The pixel storage modes in effect when a display list is executed are
1386 Pixel storage modes are client state and must be pushed and restored
1388 <citerefentry><refentrytitle>glPushClientAttrib
</refentrytitle></citerefentry> and
<citerefentry><refentrytitle>glPopClientAttrib
</refentrytitle></citerefentry>.
1391 <refsect1 id=
"errors"><title>Errors
</title>
1393 <constant>GL_INVALID_ENUM
</constant> is generated if
<parameter>pname
</parameter> is not an accepted value.
1396 <constant>GL_INVALID_VALUE
</constant> is generated if a negative row length,
1398 or row skip value is specified,
1399 or if alignment is specified as other than
1,
2,
4, or
8.
1402 <constant>GL_INVALID_OPERATION
</constant> is generated if
<function>glPixelStore
</function>
1403 is executed between the execution of
<citerefentry><refentrytitle>glBegin
</refentrytitle></citerefentry>
1404 and the corresponding execution of
<citerefentry><refentrytitle>glEnd
</refentrytitle></citerefentry>.
1407 <refsect1 id=
"associatedgets"><title>Associated Gets
</title>
1409 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_PACK_SWAP_BYTES
</constant>
1412 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_PACK_LSB_FIRST
</constant>
1415 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_PACK_ROW_LENGTH
</constant>
1418 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_PACK_IMAGE_HEIGHT
</constant>
1421 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_PACK_SKIP_ROWS
</constant>
1424 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_PACK_SKIP_PIXELS
</constant>
1427 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_PACK_SKIP_IMAGES
</constant>
1430 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_PACK_ALIGNMENT
</constant>
1433 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_UNPACK_SWAP_BYTES
</constant>
1436 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_UNPACK_LSB_FIRST
</constant>
1439 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_UNPACK_ROW_LENGTH
</constant>
1442 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_UNPACK_IMAGE_HEIGHT
</constant>
1445 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_UNPACK_SKIP_ROWS
</constant>
1448 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_UNPACK_SKIP_PIXELS
</constant>
1451 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_UNPACK_SKIP_IMAGES
</constant>
1454 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_UNPACK_ALIGNMENT
</constant>
1457 <refsect1 id=
"seealso"><title>See Also
</title>
1459 <citerefentry><refentrytitle>glBitmap
</refentrytitle></citerefentry>,
1460 <citerefentry><refentrytitle>glColorTable
</refentrytitle></citerefentry>,
1461 <citerefentry><refentrytitle>glColorSubTable
</refentrytitle></citerefentry>,
1462 <citerefentry><refentrytitle>glConvolutionFilter1D
</refentrytitle></citerefentry>,
1463 <citerefentry><refentrytitle>glConvolutionFilter2D
</refentrytitle></citerefentry>,
1464 <citerefentry><refentrytitle>glSeparableFilter2D
</refentrytitle></citerefentry>,
1465 <citerefentry><refentrytitle>glDrawPixels
</refentrytitle></citerefentry>,
1466 <citerefentry><refentrytitle>glHistogram
</refentrytitle></citerefentry>,
1467 <citerefentry><refentrytitle>glMinmax
</refentrytitle></citerefentry>,
1468 <citerefentry><refentrytitle>glPixelMap
</refentrytitle></citerefentry>,
1469 <citerefentry><refentrytitle>glPixelTransfer
</refentrytitle></citerefentry>,
1470 <citerefentry><refentrytitle>glPixelZoom
</refentrytitle></citerefentry>,
1471 <citerefentry><refentrytitle>glPolygonStipple
</refentrytitle></citerefentry>,
1472 <citerefentry><refentrytitle>glPushClientAttrib
</refentrytitle></citerefentry>,
1473 <citerefentry><refentrytitle>glReadPixels
</refentrytitle></citerefentry>,
1474 <citerefentry><refentrytitle>glTexImage1D
</refentrytitle></citerefentry>,
1475 <citerefentry><refentrytitle>glTexImage2D
</refentrytitle></citerefentry>,
1476 <citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry>,
1477 <citerefentry><refentrytitle>glTexSubImage1D
</refentrytitle></citerefentry>,
1478 <citerefentry><refentrytitle>glTexSubImage2D
</refentrytitle></citerefentry>,
1479 <citerefentry><refentrytitle>glTexSubImage3D
</refentrytitle></citerefentry>
1482 <refsect1 id=
"Copyright"><title>Copyright
</title>
1484 Copyright
<trademark class=
"copyright"></trademark> 1991-
2006
1485 Silicon Graphics, Inc. This document is licensed under the SGI
1486 Free Software B License. For details, see
1487 <ulink url=
"http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/
</ulink>.