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=
"glBlendEquationSeparate">
9 <holder>Silicon Graphics, Inc.
</holder>
12 <refentrytitle>glBlendEquationSeparate
</refentrytitle>
13 <manvolnum>3G
</manvolnum>
16 <refname>glBlendEquationSeparate
</refname>
17 <refpurpose>set the RGB blend equation and the alpha blend equation separately
</refpurpose>
19 <refsynopsisdiv><title>C Specification
</title>
22 <funcdef>void
<function>glBlendEquationSeparate
</function></funcdef>
23 <paramdef>GLenum
<parameter>modeRGB
</parameter></paramdef>
24 <paramdef>GLenum
<parameter>modeAlpha
</parameter></paramdef>
27 <funcdef>void
<function>glBlendEquationSeparatei
</function></funcdef>
28 <paramdef>GLuint
<parameter>buf
</parameter></paramdef>
29 <paramdef>GLenum
<parameter>modeRGB
</parameter></paramdef>
30 <paramdef>GLenum
<parameter>modeAlpha
</parameter></paramdef>
34 <!-- eqn: ignoring delim $$ -->
35 <refsect1 id=
"parameters"><title>Parameters
</title>
38 <term><parameter>buf
</parameter></term>
41 for
<function>glBlendEquationSeparatei
</function>, specifies the index of the draw buffer for which
42 to set the blend equations.
47 <term><parameter>modeRGB
</parameter></term>
50 specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined.
51 It must be
<constant>GL_FUNC_ADD
</constant>,
<constant>GL_FUNC_SUBTRACT
</constant>,
52 <constant>GL_FUNC_REVERSE_SUBTRACT
</constant>,
<constant>GL_MIN
</constant>,
<constant>GL_MAX
</constant>.
57 <term><parameter>modeAlpha
</parameter></term>
60 specifies the alpha blend equation, how the alpha component of the source and destination colors are combined.
61 It must be
<constant>GL_FUNC_ADD
</constant>,
<constant>GL_FUNC_SUBTRACT
</constant>,
62 <constant>GL_FUNC_REVERSE_SUBTRACT
</constant>,
<constant>GL_MIN
</constant>,
<constant>GL_MAX
</constant>.
68 <refsect1 id=
"description"><title>Description
</title>
70 The blend equations determines how a new pixel (the ''source'' color)
71 is combined with a pixel already in the framebuffer (the ''destination''
72 color). These functions specifie one blend equation for the RGB-color
73 components and one blend equation for the alpha component.
<function>glBlendEquationSeparatei
</function>
74 specifies the blend equations for a single draw buffer whereas
<function>glBlendEquationSeparate
</function>
75 sets the blend equations for all draw buffers.
78 The blend equations use the source and destination blend factors
79 specified by either
<citerefentry><refentrytitle>glBlendFunc
</refentrytitle></citerefentry> or
80 <citerefentry><refentrytitle>glBlendFuncSeparate
</refentrytitle></citerefentry>.
81 See
<citerefentry><refentrytitle>glBlendFunc
</refentrytitle></citerefentry> or
<citerefentry><refentrytitle>glBlendFuncSeparate
</refentrytitle></citerefentry>
82 for a description of the various blend factors.
85 In the equations that follow, source and destination
86 color components are referred to as
87 <inlineequation><mml:math>
88 <!-- eqn: ( R sub s, G sub s, B sub s, A sub s ):-->
89 <mml:mfenced open=
"(" close=
")">
90 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
91 <mml:mi mathvariant=
"italic">s
</mml:mi>
93 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
94 <mml:mi mathvariant=
"italic">s
</mml:mi>
96 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
97 <mml:mi mathvariant=
"italic">s
</mml:mi>
99 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
100 <mml:mi mathvariant=
"italic">s
</mml:mi>
103 </mml:math></inlineequation>
105 <inlineequation><mml:math>
106 <!-- eqn: ( R sub d, G sub d, B sub d, A sub d ):-->
107 <mml:mfenced open=
"(" close=
")">
108 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
109 <mml:mi mathvariant=
"italic">d
</mml:mi>
111 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
112 <mml:mi mathvariant=
"italic">d
</mml:mi>
114 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
115 <mml:mi mathvariant=
"italic">d
</mml:mi>
117 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
118 <mml:mi mathvariant=
"italic">d
</mml:mi>
121 </mml:math></inlineequation>,
123 The result color is referred to as
124 <inlineequation><mml:math>
125 <!-- eqn: ( R sub r, G sub r, B sub r, A sub r ):-->
126 <mml:mfenced open=
"(" close=
")">
127 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
128 <mml:mi mathvariant=
"italic">r
</mml:mi>
130 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
131 <mml:mi mathvariant=
"italic">r
</mml:mi>
133 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
134 <mml:mi mathvariant=
"italic">r
</mml:mi>
136 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
137 <mml:mi mathvariant=
"italic">r
</mml:mi>
140 </mml:math></inlineequation>.
141 The source and destination blend factors are denoted
142 <inlineequation><mml:math>
143 <!-- eqn: ( s sub R, s sub G, s sub B, s sub A ):-->
144 <mml:mfenced open=
"(" close=
")">
145 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
146 <mml:mi mathvariant=
"italic">R
</mml:mi>
148 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
149 <mml:mi mathvariant=
"italic">G
</mml:mi>
151 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
152 <mml:mi mathvariant=
"italic">B
</mml:mi>
154 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
155 <mml:mi mathvariant=
"italic">A
</mml:mi>
158 </mml:math></inlineequation>
160 <inlineequation><mml:math>
161 <!-- eqn: ( d sub R, d sub G, d sub B, d sub A ):-->
162 <mml:mfenced open=
"(" close=
")">
163 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
164 <mml:mi mathvariant=
"italic">R
</mml:mi>
166 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
167 <mml:mi mathvariant=
"italic">G
</mml:mi>
169 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
170 <mml:mi mathvariant=
"italic">B
</mml:mi>
172 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
173 <mml:mi mathvariant=
"italic">A
</mml:mi>
176 </mml:math></inlineequation>,
178 For these equations all color components are understood to have values
180 <inlineequation><mml:math>
182 <mml:mfenced open=
"[" close=
"]">
186 </mml:math></inlineequation>.
188 <informaltable frame=
"topbot">
189 <tgroup cols=
"3" align=
"left">
190 <colspec colwidth=
"1.1*" />
191 <colspec colwidth=
"1*" />
192 <colspec colwidth=
"1*" />
195 <entry rowsep=
"1" align=
"left"><emphasis role=
"bold">
198 <entry rowsep=
"1" align=
"left"><emphasis role=
"bold">
201 <entry rowsep=
"1" align=
"left"><emphasis role=
"bold">
209 <constant>GL_FUNC_ADD
</constant>
212 <informalequation><mml:math>
213 <!-- eqn: Rr = R sub s s sub R + R sub d d sub R :-->
215 <mml:mi mathvariant=
"italic">Rr
</mml:mi>
218 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
219 <mml:mi mathvariant=
"italic">s
</mml:mi>
221 <mml:mo>⁢</mml:mo>
222 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
223 <mml:mi mathvariant=
"italic">R
</mml:mi>
226 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
227 <mml:mi mathvariant=
"italic">d
</mml:mi>
229 <mml:mo>⁢</mml:mo>
230 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
231 <mml:mi mathvariant=
"italic">R
</mml:mi>
235 </mml:math></informalequation>
236 <informalequation><mml:math>
237 <!-- eqn: Gr = G sub s s sub G + G sub d d sub G :-->
239 <mml:mi mathvariant=
"italic">Gr
</mml:mi>
242 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
243 <mml:mi mathvariant=
"italic">s
</mml:mi>
245 <mml:mo>⁢</mml:mo>
246 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
247 <mml:mi mathvariant=
"italic">G
</mml:mi>
250 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
251 <mml:mi mathvariant=
"italic">d
</mml:mi>
253 <mml:mo>⁢</mml:mo>
254 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
255 <mml:mi mathvariant=
"italic">G
</mml:mi>
259 </mml:math></informalequation>
260 <informalequation><mml:math>
261 <!-- eqn: Br = B sub s s sub B + B sub d d sub B :-->
263 <mml:mi mathvariant=
"italic">Br
</mml:mi>
266 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
267 <mml:mi mathvariant=
"italic">s
</mml:mi>
269 <mml:mo>⁢</mml:mo>
270 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
271 <mml:mi mathvariant=
"italic">B
</mml:mi>
274 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
275 <mml:mi mathvariant=
"italic">d
</mml:mi>
277 <mml:mo>⁢</mml:mo>
278 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
279 <mml:mi mathvariant=
"italic">B
</mml:mi>
283 </mml:math></informalequation>
286 <informalequation><mml:math>
287 <!-- eqn: Ar = A sub s s sub A + A sub d d sub A :-->
289 <mml:mi mathvariant=
"italic">Ar
</mml:mi>
292 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
293 <mml:mi mathvariant=
"italic">s
</mml:mi>
295 <mml:mo>⁢</mml:mo>
296 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
297 <mml:mi mathvariant=
"italic">A
</mml:mi>
300 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
301 <mml:mi mathvariant=
"italic">d
</mml:mi>
303 <mml:mo>⁢</mml:mo>
304 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
305 <mml:mi mathvariant=
"italic">A
</mml:mi>
309 </mml:math></informalequation>
314 <constant>GL_FUNC_SUBTRACT
</constant>
317 <informalequation><mml:math>
318 <!-- eqn: Rr = R sub s s sub R - R sub d d sub R :-->
320 <mml:mi mathvariant=
"italic">Rr
</mml:mi>
323 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
324 <mml:mi mathvariant=
"italic">s
</mml:mi>
326 <mml:mo>⁢</mml:mo>
327 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
328 <mml:mi mathvariant=
"italic">R
</mml:mi>
331 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
332 <mml:mi mathvariant=
"italic">d
</mml:mi>
334 <mml:mo>⁢</mml:mo>
335 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
336 <mml:mi mathvariant=
"italic">R
</mml:mi>
340 </mml:math></informalequation>
341 <informalequation><mml:math>
342 <!-- eqn: Gr = G sub s s sub G - G sub d d sub G :-->
344 <mml:mi mathvariant=
"italic">Gr
</mml:mi>
347 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
348 <mml:mi mathvariant=
"italic">s
</mml:mi>
350 <mml:mo>⁢</mml:mo>
351 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
352 <mml:mi mathvariant=
"italic">G
</mml:mi>
355 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
356 <mml:mi mathvariant=
"italic">d
</mml:mi>
358 <mml:mo>⁢</mml:mo>
359 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
360 <mml:mi mathvariant=
"italic">G
</mml:mi>
364 </mml:math></informalequation>
365 <informalequation><mml:math>
366 <!-- eqn: Br = B sub s s sub B - B sub d d sub B :-->
368 <mml:mi mathvariant=
"italic">Br
</mml:mi>
371 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
372 <mml:mi mathvariant=
"italic">s
</mml:mi>
374 <mml:mo>⁢</mml:mo>
375 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
376 <mml:mi mathvariant=
"italic">B
</mml:mi>
379 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
380 <mml:mi mathvariant=
"italic">d
</mml:mi>
382 <mml:mo>⁢</mml:mo>
383 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
384 <mml:mi mathvariant=
"italic">B
</mml:mi>
388 </mml:math></informalequation>
391 <informalequation><mml:math>
392 <!-- eqn: Ar = A sub s s sub A - A sub d d sub A :-->
394 <mml:mi mathvariant=
"italic">Ar
</mml:mi>
397 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
398 <mml:mi mathvariant=
"italic">s
</mml:mi>
400 <mml:mo>⁢</mml:mo>
401 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
402 <mml:mi mathvariant=
"italic">A
</mml:mi>
405 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
406 <mml:mi mathvariant=
"italic">d
</mml:mi>
408 <mml:mo>⁢</mml:mo>
409 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
410 <mml:mi mathvariant=
"italic">A
</mml:mi>
414 </mml:math></informalequation>
419 <constant>GL_FUNC_REVERSE_SUBTRACT
</constant>
422 <informalequation><mml:math>
423 <!-- eqn: Rr = R sub d d sub R - R sub s s sub R :-->
425 <mml:mi mathvariant=
"italic">Rr
</mml:mi>
428 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
429 <mml:mi mathvariant=
"italic">d
</mml:mi>
431 <mml:mo>⁢</mml:mo>
432 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
433 <mml:mi mathvariant=
"italic">R
</mml:mi>
436 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
437 <mml:mi mathvariant=
"italic">s
</mml:mi>
439 <mml:mo>⁢</mml:mo>
440 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
441 <mml:mi mathvariant=
"italic">R
</mml:mi>
445 </mml:math></informalequation>
446 <informalequation><mml:math>
447 <!-- eqn: Gr = G sub d d sub G - G sub s s sub G :-->
449 <mml:mi mathvariant=
"italic">Gr
</mml:mi>
452 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
453 <mml:mi mathvariant=
"italic">d
</mml:mi>
455 <mml:mo>⁢</mml:mo>
456 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
457 <mml:mi mathvariant=
"italic">G
</mml:mi>
460 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
461 <mml:mi mathvariant=
"italic">s
</mml:mi>
463 <mml:mo>⁢</mml:mo>
464 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
465 <mml:mi mathvariant=
"italic">G
</mml:mi>
469 </mml:math></informalequation>
470 <informalequation><mml:math>
471 <!-- eqn: Br = B sub d d sub B - B sub s s sub B :-->
473 <mml:mi mathvariant=
"italic">Br
</mml:mi>
476 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
477 <mml:mi mathvariant=
"italic">d
</mml:mi>
479 <mml:mo>⁢</mml:mo>
480 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
481 <mml:mi mathvariant=
"italic">B
</mml:mi>
484 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
485 <mml:mi mathvariant=
"italic">s
</mml:mi>
487 <mml:mo>⁢</mml:mo>
488 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
489 <mml:mi mathvariant=
"italic">B
</mml:mi>
493 </mml:math></informalequation>
496 <informalequation><mml:math>
497 <!-- eqn: Ar = A sub d d sub A - A sub s s sub A :-->
499 <mml:mi mathvariant=
"italic">Ar
</mml:mi>
502 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
503 <mml:mi mathvariant=
"italic">d
</mml:mi>
505 <mml:mo>⁢</mml:mo>
506 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
507 <mml:mi mathvariant=
"italic">A
</mml:mi>
510 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
511 <mml:mi mathvariant=
"italic">s
</mml:mi>
513 <mml:mo>⁢</mml:mo>
514 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
515 <mml:mi mathvariant=
"italic">A
</mml:mi>
519 </mml:math></informalequation>
524 <constant>GL_MIN
</constant>
527 <informalequation><mml:math>
528 <!-- eqn: Rr = min ( R sub s, R sub d):-->
530 <mml:mi mathvariant=
"italic">Rr
</mml:mi>
533 <mml:mi mathvariant=
"italic">min
</mml:mi>
534 <mml:mo>⁡</mml:mo>
535 <mml:mfenced open=
"(" close=
")">
537 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
538 <mml:mi mathvariant=
"italic">s
</mml:mi>
542 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
543 <mml:mi mathvariant=
"italic">d
</mml:mi>
549 </mml:math></informalequation>
550 <informalequation><mml:math>
551 <!-- eqn: Gr = min ( G sub s, G sub d):-->
553 <mml:mi mathvariant=
"italic">Gr
</mml:mi>
556 <mml:mi mathvariant=
"italic">min
</mml:mi>
557 <mml:mo>⁡</mml:mo>
558 <mml:mfenced open=
"(" close=
")">
560 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
561 <mml:mi mathvariant=
"italic">s
</mml:mi>
565 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
566 <mml:mi mathvariant=
"italic">d
</mml:mi>
572 </mml:math></informalequation>
573 <informalequation><mml:math>
574 <!-- eqn: Br = min ( B sub s, B sub d):-->
576 <mml:mi mathvariant=
"italic">Br
</mml:mi>
579 <mml:mi mathvariant=
"italic">min
</mml:mi>
580 <mml:mo>⁡</mml:mo>
581 <mml:mfenced open=
"(" close=
")">
583 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
584 <mml:mi mathvariant=
"italic">s
</mml:mi>
588 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
589 <mml:mi mathvariant=
"italic">d
</mml:mi>
595 </mml:math></informalequation>
598 <informalequation><mml:math>
599 <!-- eqn: Ar = min ( A sub s, A sub d):-->
601 <mml:mi mathvariant=
"italic">Ar
</mml:mi>
604 <mml:mi mathvariant=
"italic">min
</mml:mi>
605 <mml:mo>⁡</mml:mo>
606 <mml:mfenced open=
"(" close=
")">
608 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
609 <mml:mi mathvariant=
"italic">s
</mml:mi>
613 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
614 <mml:mi mathvariant=
"italic">d
</mml:mi>
620 </mml:math></informalequation>
625 <constant>GL_MAX
</constant>
628 <informalequation><mml:math>
629 <!-- eqn: Rr = max ( R sub s, R sub d):-->
631 <mml:mi mathvariant=
"italic">Rr
</mml:mi>
634 <mml:mi mathvariant=
"italic">max
</mml:mi>
635 <mml:mo>⁡</mml:mo>
636 <mml:mfenced open=
"(" close=
")">
638 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
639 <mml:mi mathvariant=
"italic">s
</mml:mi>
643 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
644 <mml:mi mathvariant=
"italic">d
</mml:mi>
650 </mml:math></informalequation>
651 <informalequation><mml:math>
652 <!-- eqn: Gr = max ( G sub s, G sub d):-->
654 <mml:mi mathvariant=
"italic">Gr
</mml:mi>
657 <mml:mi mathvariant=
"italic">max
</mml:mi>
658 <mml:mo>⁡</mml:mo>
659 <mml:mfenced open=
"(" close=
")">
661 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
662 <mml:mi mathvariant=
"italic">s
</mml:mi>
666 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
667 <mml:mi mathvariant=
"italic">d
</mml:mi>
673 </mml:math></informalequation>
674 <informalequation><mml:math>
675 <!-- eqn: Br = max ( B sub s, B sub d):-->
677 <mml:mi mathvariant=
"italic">Br
</mml:mi>
680 <mml:mi mathvariant=
"italic">max
</mml:mi>
681 <mml:mo>⁡</mml:mo>
682 <mml:mfenced open=
"(" close=
")">
684 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
685 <mml:mi mathvariant=
"italic">s
</mml:mi>
689 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
690 <mml:mi mathvariant=
"italic">d
</mml:mi>
696 </mml:math></informalequation>
699 <informalequation><mml:math>
700 <!-- eqn: Ar = max ( A sub s, A sub d):-->
702 <mml:mi mathvariant=
"italic">Ar
</mml:mi>
705 <mml:mi mathvariant=
"italic">max
</mml:mi>
706 <mml:mo>⁡</mml:mo>
707 <mml:mfenced open=
"(" close=
")">
709 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
710 <mml:mi mathvariant=
"italic">s
</mml:mi>
714 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
715 <mml:mi mathvariant=
"italic">d
</mml:mi>
721 </mml:math></informalequation>
729 The results of these equations are clamped to the range
730 <inlineequation><mml:math>
732 <mml:mfenced open=
"[" close=
"]">
736 </mml:math></inlineequation>.
739 The
<constant>GL_MIN
</constant> and
<constant>GL_MAX
</constant> equations are useful for applications
740 that analyze image data (image thresholding against a constant color,
742 The
<constant>GL_FUNC_ADD
</constant> equation is useful
743 for antialiasing and transparency, among other things.
746 Initially, both the RGB blend equation and the alpha blend equation are set to
<constant>GL_FUNC_ADD
</constant>.
751 <refsect1 id=
"notes"><title>Notes
</title>
753 The
<constant>GL_MIN
</constant>, and
<constant>GL_MAX
</constant> equations do not use
754 the source or destination factors, only the source and destination colors.
757 <refsect1 id=
"errors"><title>Errors
</title>
759 <constant>GL_INVALID_ENUM
</constant> is generated if either
<parameter>modeRGB
</parameter> or
<parameter>modeAlpha
</parameter> is not one of
760 <constant>GL_FUNC_ADD
</constant>,
<constant>GL_FUNC_SUBTRACT
</constant>,
<constant>GL_FUNC_REVERSE_SUBTRACT
</constant>,
761 <constant>GL_MAX
</constant>, or
<constant>GL_MIN
</constant>.
764 <constant>GL_INVALID_VALUE
</constant> is generated by
<function>glBlendEquationSeparatei
</function> if
<parameter>buf
</parameter> is greater
765 than or equal to the value of
<constant>GL_MAX_DRAW_BUFFERS
</constant>.
768 <refsect1 id=
"associatedgets"><title>Associated Gets
</title>
770 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with an argument of
<constant>GL_BLEND_EQUATION_RGB
</constant>
773 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with an argument of
<constant>GL_BLEND_EQUATION_ALPHA
</constant>
776 <refsect1 id=
"seealso"><title>See Also
</title>
778 <citerefentry><refentrytitle>glGetString
</refentrytitle></citerefentry>,
779 <citerefentry><refentrytitle>glBlendColor
</refentrytitle></citerefentry>,
780 <citerefentry><refentrytitle>glBlendFunc
</refentrytitle></citerefentry>,
781 <citerefentry><refentrytitle>glBlendFuncSeparate
</refentrytitle></citerefentry>
784 <refsect1 id=
"Copyright"><title>Copyright
</title>
786 Copyright
<trademark class=
"copyright"></trademark> 2006 Khronos Group.
787 This material may be distributed subject to the terms and conditions set forth in
788 the Open Publication License, v
1.0,
8 June
1999.
789 <ulink url=
"http://opencontent.org/openpub/">http://opencontent.org/openpub/
</ulink>.