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=
"glPixelTransfer">
9 <holder>Silicon Graphics, Inc.
</holder>
12 <refentrytitle>glPixelTransfer
</refentrytitle>
13 <manvolnum>3G
</manvolnum>
16 <refname>glPixelTransfer
</refname>
17 <refpurpose>set pixel transfer modes
</refpurpose>
19 <refsynopsisdiv><title>C Specification
</title>
22 <funcdef>void
<function>glPixelTransferf
</function></funcdef>
23 <paramdef>GLenum
<parameter>pname
</parameter></paramdef>
24 <paramdef>GLfloat
<parameter>param
</parameter></paramdef>
29 <funcdef>void
<function>glPixelTransferi
</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 pixel transfer parameter to be set.
43 Must be one of the following:
44 <constant>GL_MAP_COLOR
</constant>,
45 <constant>GL_MAP_STENCIL
</constant>,
46 <constant>GL_INDEX_SHIFT
</constant>,
47 <constant>GL_INDEX_OFFSET
</constant>,
48 <constant>GL_RED_SCALE
</constant>,
49 <constant>GL_RED_BIAS
</constant>,
50 <constant>GL_GREEN_SCALE
</constant>,
51 <constant>GL_GREEN_BIAS
</constant>,
52 <constant>GL_BLUE_SCALE
</constant>,
53 <constant>GL_BLUE_BIAS
</constant>,
54 <constant>GL_ALPHA_SCALE
</constant>,
55 <constant>GL_ALPHA_BIAS
</constant>,
56 <constant>GL_DEPTH_SCALE
</constant>, or
57 <constant>GL_DEPTH_BIAS
</constant>.
60 Additionally, if the
<code>ARB_imaging
</code> extension is supported, the
61 following symbolic names are accepted:
62 <constant>GL_POST_COLOR_MATRIX_RED_SCALE
</constant>,
63 <constant>GL_POST_COLOR_MATRIX_GREEN_SCALE
</constant>,
64 <constant>GL_POST_COLOR_MATRIX_BLUE_SCALE
</constant>,
65 <constant>GL_POST_COLOR_MATRIX_ALPHA_SCALE
</constant>,
66 <constant>GL_POST_COLOR_MATRIX_RED_BIAS
</constant>,
67 <constant>GL_POST_COLOR_MATRIX_GREEN_BIAS
</constant>,
68 <constant>GL_POST_COLOR_MATRIX_BLUE_BIAS
</constant>,
69 <constant>GL_POST_COLOR_MATRIX_ALPHA_BIAS
</constant>,
70 <constant>GL_POST_CONVOLUTION_RED_SCALE
</constant>,
71 <constant>GL_POST_CONVOLUTION_GREEN_SCALE
</constant>,
72 <constant>GL_POST_CONVOLUTION_BLUE_SCALE
</constant>,
73 <constant>GL_POST_CONVOLUTION_ALPHA_SCALE
</constant>,
74 <constant>GL_POST_CONVOLUTION_RED_BIAS
</constant>,
75 <constant>GL_POST_CONVOLUTION_GREEN_BIAS
</constant>,
76 <constant>GL_POST_CONVOLUTION_BLUE_BIAS
</constant>, and
77 <constant>GL_POST_CONVOLUTION_ALPHA_BIAS
</constant>.
82 <term><parameter>param
</parameter></term>
85 Specifies the value that
<parameter>pname
</parameter> is set to.
91 <refsect1 id=
"description"><title>Description
</title>
93 <function>glPixelTransfer
</function> sets pixel transfer modes that affect the operation of subsequent
94 <citerefentry><refentrytitle>glCopyPixels
</refentrytitle></citerefentry>,
95 <citerefentry><refentrytitle>glCopyTexImage1D
</refentrytitle></citerefentry>,
96 <citerefentry><refentrytitle>glCopyTexImage2D
</refentrytitle></citerefentry>,
97 <citerefentry><refentrytitle>glCopyTexSubImage1D
</refentrytitle></citerefentry>,
98 <citerefentry><refentrytitle>glCopyTexSubImage2D
</refentrytitle></citerefentry>,
99 <citerefentry><refentrytitle>glCopyTexSubImage3D
</refentrytitle></citerefentry>,
100 <citerefentry><refentrytitle>glDrawPixels
</refentrytitle></citerefentry>,
101 <citerefentry><refentrytitle>glReadPixels
</refentrytitle></citerefentry>,
102 <citerefentry><refentrytitle>glTexImage1D
</refentrytitle></citerefentry>,
103 <citerefentry><refentrytitle>glTexImage2D
</refentrytitle></citerefentry>,
104 <citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry>,
105 <citerefentry><refentrytitle>glTexSubImage1D
</refentrytitle></citerefentry>,
106 <citerefentry><refentrytitle>glTexSubImage2D
</refentrytitle></citerefentry>, and
107 <citerefentry><refentrytitle>glTexSubImage3D
</refentrytitle></citerefentry> commands.
108 Additionally, if the
<code>ARB_imaging
</code> subset is supported, the
110 <citerefentry><refentrytitle>glColorTable
</refentrytitle></citerefentry>,
111 <citerefentry><refentrytitle>glColorSubTable
</refentrytitle></citerefentry>,
112 <citerefentry><refentrytitle>glConvolutionFilter1D
</refentrytitle></citerefentry>,
113 <citerefentry><refentrytitle>glConvolutionFilter2D
</refentrytitle></citerefentry>,
114 <citerefentry><refentrytitle>glHistogram
</refentrytitle></citerefentry>,
115 <citerefentry><refentrytitle>glMinmax
</refentrytitle></citerefentry>, and
116 <citerefentry><refentrytitle>glSeparableFilter2D
</refentrytitle></citerefentry> are also affected.
117 The algorithms that are specified by pixel transfer modes operate on
118 pixels after they are read from the frame buffer
119 (
<citerefentry><refentrytitle>glCopyPixels
</refentrytitle></citerefentry>
120 <citerefentry><refentrytitle>glCopyTexImage1D
</refentrytitle></citerefentry>,
121 <citerefentry><refentrytitle>glCopyTexImage2D
</refentrytitle></citerefentry>,
122 <citerefentry><refentrytitle>glCopyTexSubImage1D
</refentrytitle></citerefentry>,
123 <citerefentry><refentrytitle>glCopyTexSubImage2D
</refentrytitle></citerefentry>,
124 <citerefentry><refentrytitle>glCopyTexSubImage3D
</refentrytitle></citerefentry>, and
125 <citerefentry><refentrytitle>glReadPixels
</refentrytitle></citerefentry>),
126 or unpacked from client memory
127 (
<citerefentry><refentrytitle>glDrawPixels
</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexImage1D
</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexImage2D
</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry>,
128 <citerefentry><refentrytitle>glTexSubImage1D
</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glTexSubImage2D
</refentrytitle></citerefentry>, and
<citerefentry><refentrytitle>glTexSubImage3D
</refentrytitle></citerefentry>).
129 Pixel transfer operations happen in the same order,
130 and in the same manner,
131 regardless of the command that resulted in the pixel operation.
133 (see
<citerefentry><refentrytitle>glPixelStore
</refentrytitle></citerefentry>)
134 control the unpacking of pixels being read from client memory
135 and the packing of pixels being written back into client memory.
138 Pixel transfer operations handle four fundamental pixel types:
139 <emphasis>color
</emphasis>,
140 <emphasis>color index
</emphasis>,
141 <emphasis>depth
</emphasis>, and
142 <emphasis>stencil
</emphasis>.
143 <emphasis>Color
</emphasis> pixels consist of four floating-point values
144 with unspecified mantissa and exponent sizes,
145 scaled such that
0 represents zero intensity
146 and
1 represents full intensity.
147 <emphasis>Color indices
</emphasis> comprise a single fixed-point value,
148 with unspecified precision to the right of the binary point.
149 <emphasis>Depth
</emphasis> pixels comprise a single floating-point value,
150 with unspecified mantissa and exponent sizes,
151 scaled such that
0.0 represents the minimum depth buffer value,
152 and
1.0 represents the maximum depth buffer value.
154 <emphasis>stencil
</emphasis> pixels comprise a single fixed-point value,
155 with unspecified precision to the right of the binary point.
158 The pixel transfer operations performed on the four basic pixel types are
163 <term><emphasis>Color
</emphasis></term>
166 Each of the four color components is multiplied by a scale factor,
167 then added to a bias factor.
169 the red component is multiplied by
<constant>GL_RED_SCALE
</constant>,
170 then added to
<constant>GL_RED_BIAS
</constant>;
171 the green component is multiplied by
<constant>GL_GREEN_SCALE
</constant>,
172 then added to
<constant>GL_GREEN_BIAS
</constant>;
173 the blue component is multiplied by
<constant>GL_BLUE_SCALE
</constant>,
174 then added to
<constant>GL_BLUE_BIAS
</constant>; and
175 the alpha component is multiplied by
<constant>GL_ALPHA_SCALE
</constant>,
176 then added to
<constant>GL_ALPHA_BIAS
</constant>.
177 After all four color components are scaled and biased,
178 each is clamped to the range
179 <inlineequation><mml:math>
181 <mml:mfenced open=
"[" close=
"]">
185 </mml:math></inlineequation>.
186 All color, scale, and bias values are specified with
<function>glPixelTransfer
</function>.
189 If
<constant>GL_MAP_COLOR
</constant> is true,
190 each color component is scaled by the size of the corresponding
192 then replaced by the contents of that map indexed by the scaled component.
194 the red component is scaled by
<constant>GL_PIXEL_MAP_R_TO_R_SIZE
</constant>,
195 then replaced by the contents of
<constant>GL_PIXEL_MAP_R_TO_R
</constant> indexed by itself.
196 The green component is scaled by
<constant>GL_PIXEL_MAP_G_TO_G_SIZE
</constant>,
197 then replaced by the contents of
<constant>GL_PIXEL_MAP_G_TO_G
</constant> indexed by itself.
198 The blue component is scaled by
<constant>GL_PIXEL_MAP_B_TO_B_SIZE
</constant>,
199 then replaced by the contents of
<constant>GL_PIXEL_MAP_B_TO_B
</constant> indexed by itself.
201 the alpha component is scaled by
<constant>GL_PIXEL_MAP_A_TO_A_SIZE
</constant>,
202 then replaced by the contents of
<constant>GL_PIXEL_MAP_A_TO_A
</constant> indexed by itself.
203 All components taken from the maps are then clamped to the range
204 <inlineequation><mml:math>
206 <mml:mfenced open=
"[" close=
"]">
210 </mml:math></inlineequation>.
211 <constant>GL_MAP_COLOR
</constant> is specified with
<function>glPixelTransfer
</function>.
212 The contents of the various maps are specified with
<citerefentry><refentrytitle>glPixelMap
</refentrytitle></citerefentry>.
215 If the
<code>ARB_imaging
</code> extension is supported, each of the four
216 color components may be scaled and biased after transformation by the
219 the red component is multiplied by
<constant>GL_POST_COLOR_MATRIX_RED_SCALE
</constant>,
220 then added to
<constant>GL_POST_COLOR_MATRIX_RED_BIAS
</constant>;
221 the green component is multiplied by
<constant>GL_POST_COLOR_MATRIX_GREEN_SCALE
</constant>,
222 then added to
<constant>GL_POST_COLOR_MATRIX_GREEN_BIAS
</constant>;
223 the blue component is multiplied by
<constant>GL_POST_COLOR_MATRIX_BLUE_SCALE
</constant>,
224 then added to
<constant>GL_POST_COLOR_MATRIX_BLUE_BIAS
</constant>; and
225 the alpha component is multiplied by
<constant>GL_POST_COLOR_MATRIX_ALPHA_SCALE
</constant>,
226 then added to
<constant>GL_POST_COLOR_MATRIX_ALPHA_BIAS
</constant>.
227 After all four color components are scaled and biased,
228 each is clamped to the range
229 <inlineequation><mml:math>
231 <mml:mfenced open=
"[" close=
"]">
235 </mml:math></inlineequation>.
238 Similarly, if the
<code>ARB_imaging
</code> extension is supported, each of
239 the four color components may be scaled and biased after processing by
240 the enabled convolution filter.
242 the red component is multiplied by
<constant>GL_POST_CONVOLUTION_RED_SCALE
</constant>,
243 then added to
<constant>GL_POST_CONVOLUTION_RED_BIAS
</constant>;
244 the green component is multiplied by
<constant>GL_POST_CONVOLUTION_GREEN_SCALE
</constant>,
245 then added to
<constant>GL_POST_CONVOLUTION_GREEN_BIAS
</constant>;
246 the blue component is multiplied by
<constant>GL_POST_CONVOLUTION_BLUE_SCALE
</constant>,
247 then added to
<constant>GL_POST_CONVOLUTION_BLUE_BIAS
</constant>; and
248 the alpha component is multiplied by
<constant>GL_POST_CONVOLUTION_ALPHA_SCALE
</constant>,
249 then added to
<constant>GL_POST_CONVOLUTION_ALPHA_BIAS
</constant>.
250 After all four color components are scaled and biased,
251 each is clamped to the range
252 <inlineequation><mml:math>
254 <mml:mfenced open=
"[" close=
"]">
258 </mml:math></inlineequation>.
263 <term><emphasis>Color index
</emphasis></term>
266 Each color index is shifted left by
<constant>GL_INDEX_SHIFT
</constant> bits; any bits
267 beyond the number of fraction bits carried
268 by the fixed-point index are filled with zeros.
269 If
<constant>GL_INDEX_SHIFT
</constant> is negative,
270 the shift is to the right,
272 Then
<constant>GL_INDEX_OFFSET
</constant> is added to the index.
273 <constant>GL_INDEX_SHIFT
</constant> and
<constant>GL_INDEX_OFFSET
</constant> are specified with
274 <function>glPixelTransfer
</function>.
277 From this point, operation diverges depending on the required format of
278 the resulting pixels.
279 If the resulting pixels are to be written to a color index buffer,
280 or if they are being read back to client memory in
<constant>GL_COLOR_INDEX
</constant> format,
281 the pixels continue to be treated as indices.
282 If
<constant>GL_MAP_COLOR
</constant> is true,
283 each index is masked by
284 <inlineequation><mml:math>
285 <!-- eqn: 2 sup n - 1:-->
287 <mml:msup><mml:mn>2</mml:mn>
288 <mml:mi mathvariant=
"italic">n
</mml:mi>
293 </mml:math></inlineequation>,
295 <inlineequation><mml:math><mml:mi mathvariant=
"italic">n
</mml:mi></mml:math></inlineequation>
296 is
<constant>GL_PIXEL_MAP_I_TO_I_SIZE
</constant>,
297 then replaced by the contents of
<constant>GL_PIXEL_MAP_I_TO_I
</constant> indexed by the
299 <constant>GL_MAP_COLOR
</constant> is specified with
<function>glPixelTransfer
</function>.
300 The contents of the index map is specified with
<citerefentry><refentrytitle>glPixelMap
</refentrytitle></citerefentry>.
303 If the resulting pixels are to be written to an RGBA color buffer,
304 or if they are read back to client memory in a format other than
305 <constant>GL_COLOR_INDEX
</constant>,
306 the pixels are converted from indices to colors by referencing the
308 <constant>GL_PIXEL_MAP_I_TO_R
</constant>,
309 <constant>GL_PIXEL_MAP_I_TO_G
</constant>,
310 <constant>GL_PIXEL_MAP_I_TO_B
</constant>, and
311 <constant>GL_PIXEL_MAP_I_TO_A
</constant>.
312 Before being dereferenced,
313 the index is masked by
314 <inlineequation><mml:math>
315 <!-- eqn: 2 sup n - 1:-->
317 <mml:msup><mml:mn>2</mml:mn>
318 <mml:mi mathvariant=
"italic">n
</mml:mi>
323 </mml:math></inlineequation>,
325 <inlineequation><mml:math><mml:mi mathvariant=
"italic">n
</mml:mi></mml:math></inlineequation>
327 <constant>GL_PIXEL_MAP_I_TO_R_SIZE
</constant> for the red map,
328 <constant>GL_PIXEL_MAP_I_TO_G_SIZE
</constant> for the green map,
329 <constant>GL_PIXEL_MAP_I_TO_B_SIZE
</constant> for the blue map, and
330 <constant>GL_PIXEL_MAP_I_TO_A_SIZE
</constant> for the alpha map.
331 All components taken from the maps are then clamped to the range
332 <inlineequation><mml:math>
334 <mml:mfenced open=
"[" close=
"]">
338 </mml:math></inlineequation>.
339 The contents of the four maps is specified with
<citerefentry><refentrytitle>glPixelMap
</refentrytitle></citerefentry>.
344 <term><emphasis>Depth
</emphasis></term>
347 Each depth value is multiplied by
<constant>GL_DEPTH_SCALE
</constant>,
348 added to
<constant>GL_DEPTH_BIAS
</constant>,
349 then clamped to the range
350 <inlineequation><mml:math>
352 <mml:mfenced open=
"[" close=
"]">
356 </mml:math></inlineequation>.
361 <term><emphasis>Stencil
</emphasis></term>
364 Each index is shifted
<constant>GL_INDEX_SHIFT
</constant> bits just as a color index is,
365 then added to
<constant>GL_INDEX_OFFSET
</constant>.
366 If
<constant>GL_MAP_STENCIL
</constant> is true,
367 each index is masked by
368 <inlineequation><mml:math>
369 <!-- eqn: 2 sup n - 1:-->
371 <mml:msup><mml:mn>2</mml:mn>
372 <mml:mi mathvariant=
"italic">n
</mml:mi>
377 </mml:math></inlineequation>,
379 <inlineequation><mml:math><mml:mi mathvariant=
"italic">n
</mml:mi></mml:math></inlineequation>
380 is
<constant>GL_PIXEL_MAP_S_TO_S_SIZE
</constant>,
381 then replaced by the contents of
<constant>GL_PIXEL_MAP_S_TO_S
</constant> indexed by the
388 The following table gives the type,
390 and range of valid values for each of the pixel transfer parameters
391 that are set with
<function>glPixelTransfer
</function>.
395 <informaltable frame=
"topbot">
396 <tgroup cols=
"4" align=
"left">
397 <colspec colwidth=
"4*" />
398 <colspec colwidth=
"1*" align=
"center"/>
399 <colspec colwidth=
"1*" align=
"center"/>
400 <colspec colwidth=
"2*" align=
"center"/>
403 <entry rowsep=
"1" align=
"left"><emphasis role=
"bold">
404 <parameter>pname
</parameter>
406 <entry rowsep=
"1" align=
"center"><emphasis role=
"bold">
409 <entry rowsep=
"1" align=
"center"><emphasis role=
"bold">
412 <entry rowsep=
"1" align=
"center"><emphasis role=
"bold">
420 <constant>GL_MAP_COLOR
</constant>
422 <entry align=
"center">
425 <entry align=
"center">
428 <entry align=
"center">
434 <constant>GL_MAP_STENCIL
</constant>
436 <entry align=
"center">
439 <entry align=
"center">
442 <entry align=
"center">
448 <constant>GL_INDEX_SHIFT
</constant>
450 <entry align=
"center">
453 <entry align=
"center">
456 <entry align=
"center">
457 <inlineequation><mml:math>
458 <!-- eqn: left ( -\(if, \(if right ):-->
459 <mml:mfenced open=
"(" close=
")">
466 </mml:math></inlineequation>
471 <constant>GL_INDEX_OFFSET
</constant>
473 <entry align=
"center">
476 <entry align=
"center">
479 <entry align=
"center">
480 <inlineequation><mml:math>
481 <!-- eqn: left ( -\(if, \(if right ):-->
482 <mml:mfenced open=
"(" close=
")">
489 </mml:math></inlineequation>
494 <constant>GL_RED_SCALE
</constant>
496 <entry align=
"center">
499 <entry align=
"center">
502 <entry align=
"center">
503 <inlineequation><mml:math>
504 <!-- eqn: left ( -\(if, \(if right ):-->
505 <mml:mfenced open=
"(" close=
")">
512 </mml:math></inlineequation>
517 <constant>GL_GREEN_SCALE
</constant>
519 <entry align=
"center">
522 <entry align=
"center">
525 <entry align=
"center">
526 <inlineequation><mml:math>
527 <!-- eqn: left ( -\(if, \(if right ):-->
528 <mml:mfenced open=
"(" close=
")">
535 </mml:math></inlineequation>
540 <constant>GL_BLUE_SCALE
</constant>
542 <entry align=
"center">
545 <entry align=
"center">
548 <entry align=
"center">
549 <inlineequation><mml:math>
550 <!-- eqn: left ( -\(if, \(if right ):-->
551 <mml:mfenced open=
"(" close=
")">
558 </mml:math></inlineequation>
563 <constant>GL_ALPHA_SCALE
</constant>
565 <entry align=
"center">
568 <entry align=
"center">
571 <entry align=
"center">
572 <inlineequation><mml:math>
573 <!-- eqn: left ( -\(if, \(if right ):-->
574 <mml:mfenced open=
"(" close=
")">
581 </mml:math></inlineequation>
586 <constant>GL_DEPTH_SCALE
</constant>
588 <entry align=
"center">
591 <entry align=
"center">
594 <entry align=
"center">
595 <inlineequation><mml:math>
596 <!-- eqn: left ( -\(if, \(if right ):-->
597 <mml:mfenced open=
"(" close=
")">
604 </mml:math></inlineequation>
609 <constant>GL_RED_BIAS
</constant>
611 <entry align=
"center">
614 <entry align=
"center">
617 <entry align=
"center">
618 <inlineequation><mml:math>
619 <!-- eqn: left ( -\(if, \(if right ):-->
620 <mml:mfenced open=
"(" close=
")">
627 </mml:math></inlineequation>
632 <constant>GL_GREEN_BIAS
</constant>
634 <entry align=
"center">
637 <entry align=
"center">
640 <entry align=
"center">
641 <inlineequation><mml:math>
642 <!-- eqn: left ( -\(if, \(if right ):-->
643 <mml:mfenced open=
"(" close=
")">
650 </mml:math></inlineequation>
655 <constant>GL_BLUE_BIAS
</constant>
657 <entry align=
"center">
660 <entry align=
"center">
663 <entry align=
"center">
664 <inlineequation><mml:math>
665 <!-- eqn: left ( -\(if, \(if right ):-->
666 <mml:mfenced open=
"(" close=
")">
673 </mml:math></inlineequation>
678 <constant>GL_ALPHA_BIAS
</constant>
680 <entry align=
"center">
683 <entry align=
"center">
686 <entry align=
"center">
687 <inlineequation><mml:math>
688 <!-- eqn: left ( -\(if, \(if right ):-->
689 <mml:mfenced open=
"(" close=
")">
696 </mml:math></inlineequation>
701 <constant>GL_DEPTH_BIAS
</constant>
703 <entry align=
"center">
706 <entry align=
"center">
709 <entry align=
"center">
710 <inlineequation><mml:math>
711 <!-- eqn: left ( -\(if, \(if right ):-->
712 <mml:mfenced open=
"(" close=
")">
719 </mml:math></inlineequation>
724 <constant>GL_POST_COLOR_MATRIX_RED_SCALE
</constant>
726 <entry align=
"center">
729 <entry align=
"center">
732 <entry align=
"center">
733 <inlineequation><mml:math>
734 <!-- eqn: left ( -\(if, \(if right ):-->
735 <mml:mfenced open=
"(" close=
")">
742 </mml:math></inlineequation>
747 <constant>GL_POST_COLOR_MATRIX_GREEN_SCALE
</constant>
749 <entry align=
"center">
752 <entry align=
"center">
755 <entry align=
"center">
756 <inlineequation><mml:math>
757 <!-- eqn: left ( -\(if, \(if right ):-->
758 <mml:mfenced open=
"(" close=
")">
765 </mml:math></inlineequation>
770 <constant>GL_POST_COLOR_MATRIX_BLUE_SCALE
</constant>
772 <entry align=
"center">
775 <entry align=
"center">
778 <entry align=
"center">
779 <inlineequation><mml:math>
780 <!-- eqn: left ( -\(if, \(if right ):-->
781 <mml:mfenced open=
"(" close=
")">
788 </mml:math></inlineequation>
793 <constant>GL_POST_COLOR_MATRIX_ALPHA_SCALE
</constant>
795 <entry align=
"center">
798 <entry align=
"center">
801 <entry align=
"center">
802 <inlineequation><mml:math>
803 <!-- eqn: left ( -\(if, \(if right ):-->
804 <mml:mfenced open=
"(" close=
")">
811 </mml:math></inlineequation>
816 <constant>GL_POST_COLOR_MATRIX_RED_BIAS
</constant>
818 <entry align=
"center">
821 <entry align=
"center">
824 <entry align=
"center">
825 <inlineequation><mml:math>
826 <!-- eqn: left ( -\(if, \(if right ):-->
827 <mml:mfenced open=
"(" close=
")">
834 </mml:math></inlineequation>
839 <constant>GL_POST_COLOR_MATRIX_GREEN_BIAS
</constant>
841 <entry align=
"center">
844 <entry align=
"center">
847 <entry align=
"center">
848 <inlineequation><mml:math>
849 <!-- eqn: left ( -\(if, \(if right ):-->
850 <mml:mfenced open=
"(" close=
")">
857 </mml:math></inlineequation>
862 <constant>GL_POST_COLOR_MATRIX_BLUE_BIAS
</constant>
864 <entry align=
"center">
867 <entry align=
"center">
870 <entry align=
"center">
871 <inlineequation><mml:math>
872 <!-- eqn: left ( -\(if, \(if right ):-->
873 <mml:mfenced open=
"(" close=
")">
880 </mml:math></inlineequation>
885 <constant>GL_POST_COLOR_MATRIX_ALPHA_BIAS
</constant>
887 <entry align=
"center">
890 <entry align=
"center">
893 <entry align=
"center">
894 <inlineequation><mml:math>
895 <!-- eqn: left ( -\(if, \(if right ):-->
896 <mml:mfenced open=
"(" close=
")">
903 </mml:math></inlineequation>
908 <constant>GL_POST_CONVOLUTION_RED_SCALE
</constant>
910 <entry align=
"center">
913 <entry align=
"center">
916 <entry align=
"center">
917 <inlineequation><mml:math>
918 <!-- eqn: left ( -\(if, \(if right ):-->
919 <mml:mfenced open=
"(" close=
")">
926 </mml:math></inlineequation>
931 <constant>GL_POST_CONVOLUTION_GREEN_SCALE
</constant>
933 <entry align=
"center">
936 <entry align=
"center">
939 <entry align=
"center">
940 <inlineequation><mml:math>
941 <!-- eqn: left ( -\(if, \(if right ):-->
942 <mml:mfenced open=
"(" close=
")">
949 </mml:math></inlineequation>
954 <constant>GL_POST_CONVOLUTION_BLUE_SCALE
</constant>
956 <entry align=
"center">
959 <entry align=
"center">
962 <entry align=
"center">
963 <inlineequation><mml:math>
964 <!-- eqn: left ( -\(if, \(if right ):-->
965 <mml:mfenced open=
"(" close=
")">
972 </mml:math></inlineequation>
977 <constant>GL_POST_CONVOLUTION_ALPHA_SCALE
</constant>
979 <entry align=
"center">
982 <entry align=
"center">
985 <entry align=
"center">
986 <inlineequation><mml:math>
987 <!-- eqn: left ( -\(if, \(if right ):-->
988 <mml:mfenced open=
"(" close=
")">
995 </mml:math></inlineequation>
1000 <constant>GL_POST_CONVOLUTION_RED_BIAS
</constant>
1002 <entry align=
"center">
1005 <entry align=
"center">
1008 <entry align=
"center">
1009 <inlineequation><mml:math>
1010 <!-- eqn: left ( -\(if, \(if right ):-->
1011 <mml:mfenced open=
"(" close=
")">
1018 </mml:math></inlineequation>
1022 <entry align=
"left">
1023 <constant>GL_POST_CONVOLUTION_GREEN_BIAS
</constant>
1025 <entry align=
"center">
1028 <entry align=
"center">
1031 <entry align=
"center">
1032 <inlineequation><mml:math>
1033 <!-- eqn: left ( -\(if, \(if right ):-->
1034 <mml:mfenced open=
"(" close=
")">
1041 </mml:math></inlineequation>
1045 <entry align=
"left">
1046 <constant>GL_POST_CONVOLUTION_BLUE_BIAS
</constant>
1048 <entry align=
"center">
1051 <entry align=
"center">
1054 <entry align=
"center">
1055 <inlineequation><mml:math>
1056 <!-- eqn: left ( -\(if, \(if right ):-->
1057 <mml:mfenced open=
"(" close=
")">
1064 </mml:math></inlineequation>
1068 <entry align=
"left">
1069 <constant>GL_POST_CONVOLUTION_ALPHA_BIAS
</constant>
1071 <entry align=
"center">
1074 <entry align=
"center">
1077 <entry align=
"center">
1078 <inlineequation><mml:math>
1079 <!-- eqn: left ( -\(if, \(if right ):-->
1080 <mml:mfenced open=
"(" close=
")">
1087 </mml:math></inlineequation>
1094 <function>glPixelTransferf
</function> can be used to set any pixel transfer parameter.
1095 If the parameter type is boolean,
1096 0 implies false and any other value implies true.
1097 If
<parameter>pname
</parameter> is an integer parameter,
1098 <parameter>param
</parameter> is rounded to the nearest integer.
1102 <function>glPixelTransferi
</function> can be used to set any of the
1103 pixel transfer parameters.
1104 Boolean parameters are set to false if
<parameter>param
</parameter> is
0 and to true otherwise.
1105 <parameter>param
</parameter> is converted to floating point before being assigned to real-valued parameters.
1108 <refsect1 id=
"notes"><title>Notes
</title>
1111 <citerefentry><refentrytitle>glColorTable
</refentrytitle></citerefentry>,
1112 <citerefentry><refentrytitle>glColorSubTable
</refentrytitle></citerefentry>,
1113 <citerefentry><refentrytitle>glConvolutionFilter1D
</refentrytitle></citerefentry>,
1114 <citerefentry><refentrytitle>glConvolutionFilter2D
</refentrytitle></citerefentry>,
1115 <citerefentry><refentrytitle>glCopyPixels
</refentrytitle></citerefentry>,
1116 <citerefentry><refentrytitle>glCopyTexImage1D
</refentrytitle></citerefentry>,
1117 <citerefentry><refentrytitle>glCopyTexImage2D
</refentrytitle></citerefentry>,
1118 <citerefentry><refentrytitle>glCopyTexSubImage1D
</refentrytitle></citerefentry>,
1119 <citerefentry><refentrytitle>glCopyTexSubImage2D
</refentrytitle></citerefentry>,
1120 <citerefentry><refentrytitle>glCopyTexSubImage3D
</refentrytitle></citerefentry>,
1121 <citerefentry><refentrytitle>glDrawPixels
</refentrytitle></citerefentry>,
1122 <citerefentry><refentrytitle>glReadPixels
</refentrytitle></citerefentry>,
1123 <citerefentry><refentrytitle>glSeparableFilter2D
</refentrytitle></citerefentry>,
1124 <citerefentry><refentrytitle>glTexImage1D
</refentrytitle></citerefentry>,
1125 <citerefentry><refentrytitle>glTexImage2D
</refentrytitle></citerefentry>,
1126 <citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry>,
1127 <citerefentry><refentrytitle>glTexSubImage1D
</refentrytitle></citerefentry>,
1128 <citerefentry><refentrytitle>glTexSubImage2D
</refentrytitle></citerefentry>, or
1129 <citerefentry><refentrytitle>glTexSubImage3D
</refentrytitle></citerefentry>
1130 command is placed in a display list
1131 (see
<citerefentry><refentrytitle>glNewList
</refentrytitle></citerefentry> and
<citerefentry><refentrytitle>glCallList
</refentrytitle></citerefentry>),
1132 the pixel transfer mode settings in effect when the display list is
1133 <emphasis>executed
</emphasis>
1134 are the ones that are used.
1135 They may be different from the settings when the command was compiled
1136 into the display list.
1139 <refsect1 id=
"errors"><title>Errors
</title>
1141 <constant>GL_INVALID_ENUM
</constant> is generated if
<parameter>pname
</parameter> is not an accepted value.
1144 <constant>GL_INVALID_OPERATION
</constant> is generated if
<function>glPixelTransfer
</function>
1145 is executed between the execution of
<citerefentry><refentrytitle>glBegin
</refentrytitle></citerefentry>
1146 and the corresponding execution of
<citerefentry><refentrytitle>glEnd
</refentrytitle></citerefentry>.
1149 <refsect1 id=
"associatedgets"><title>Associated Gets
</title>
1151 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_MAP_COLOR
</constant>
1154 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_MAP_STENCIL
</constant>
1157 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_INDEX_SHIFT
</constant>
1160 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_INDEX_OFFSET
</constant>
1163 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_RED_SCALE
</constant>
1166 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_RED_BIAS
</constant>
1169 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_GREEN_SCALE
</constant>
1172 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_GREEN_BIAS
</constant>
1175 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_BLUE_SCALE
</constant>
1178 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_BLUE_BIAS
</constant>
1181 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_ALPHA_SCALE
</constant>
1184 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_ALPHA_BIAS
</constant>
1187 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_DEPTH_SCALE
</constant>
1190 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_DEPTH_BIAS
</constant>
1193 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_COLOR_MATRIX_RED_SCALE
</constant>
1196 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_COLOR_MATRIX_RED_BIAS
</constant>
1199 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_COLOR_MATRIX_GREEN_SCALE
</constant>
1202 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_COLOR_MATRIX_GREEN_BIAS
</constant>
1205 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_COLOR_MATRIX_BLUE_SCALE
</constant>
1208 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_COLOR_MATRIX_BLUE_BIAS
</constant>
1211 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_COLOR_MATRIX_ALPHA_SCALE
</constant>
1214 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_COLOR_MATRIX_ALPHA_BIAS
</constant>
1217 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_CONVOLUTION_RED_SCALE
</constant>
1220 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_CONVOLUTION_RED_BIAS
</constant>
1223 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_CONVOLUTION_GREEN_SCALE
</constant>
1226 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_CONVOLUTION_GREEN_BIAS
</constant>
1229 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_CONVOLUTION_BLUE_SCALE
</constant>
1232 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_CONVOLUTION_BLUE_BIAS
</constant>
1235 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_CONVOLUTION_ALPHA_SCALE
</constant>
1238 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_POST_CONVOLUTION_ALPHA_BIAS
</constant>
1241 <refsect1 id=
"seealso"><title>See Also
</title>
1243 <citerefentry><refentrytitle>glCallList
</refentrytitle></citerefentry>,
1244 <citerefentry><refentrytitle>glColorTable
</refentrytitle></citerefentry>,
1245 <citerefentry><refentrytitle>glColorSubTable
</refentrytitle></citerefentry>,
1246 <citerefentry><refentrytitle>glConvolutionFilter1D
</refentrytitle></citerefentry>,
1247 <citerefentry><refentrytitle>glConvolutionFilter2D
</refentrytitle></citerefentry>,
1248 <citerefentry><refentrytitle>glCopyPixels
</refentrytitle></citerefentry>,
1249 <citerefentry><refentrytitle>glCopyTexImage1D
</refentrytitle></citerefentry>,
1250 <citerefentry><refentrytitle>glCopyTexImage2D
</refentrytitle></citerefentry>,
1251 <citerefentry><refentrytitle>glCopyTexSubImage1D
</refentrytitle></citerefentry>,
1252 <citerefentry><refentrytitle>glCopyTexSubImage2D
</refentrytitle></citerefentry>,
1253 <citerefentry><refentrytitle>glCopyTexSubImage3D
</refentrytitle></citerefentry>,
1254 <citerefentry><refentrytitle>glDrawPixels
</refentrytitle></citerefentry>,
1255 <citerefentry><refentrytitle>glNewList
</refentrytitle></citerefentry>,
1256 <citerefentry><refentrytitle>glPixelMap
</refentrytitle></citerefentry>,
1257 <citerefentry><refentrytitle>glPixelStore
</refentrytitle></citerefentry>,
1258 <citerefentry><refentrytitle>glPixelZoom
</refentrytitle></citerefentry>,
1259 <citerefentry><refentrytitle>glReadPixels
</refentrytitle></citerefentry>,
1260 <citerefentry><refentrytitle>glTexImage1D
</refentrytitle></citerefentry>,
1261 <citerefentry><refentrytitle>glTexImage2D
</refentrytitle></citerefentry>,
1262 <citerefentry><refentrytitle>glTexImage3D
</refentrytitle></citerefentry>,
1263 <citerefentry><refentrytitle>glTexSubImage1D
</refentrytitle></citerefentry>,
1264 <citerefentry><refentrytitle>glTexSubImage2D
</refentrytitle></citerefentry>,
1265 <citerefentry><refentrytitle>glTexSubImage3D
</refentrytitle></citerefentry>
1268 <refsect1 id=
"Copyright"><title>Copyright
</title>
1270 Copyright
<trademark class=
"copyright"></trademark> 1991-
2006
1271 Silicon Graphics, Inc. This document is licensed under the SGI
1272 Free Software B License. For details, see
1273 <ulink url=
"http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/
</ulink>.