b34918604114ca30a7164154beec87df0245d9a2
[clinton/guile-figl.git] / upstream-man-pages / man2 / glBlendEquation.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
4 <refentry id="glBlendEquation">
5 <refmeta>
6 <refmetainfo>
7 <copyright>
8 <year>1991-2006</year>
9 <holder>Silicon Graphics, Inc.</holder>
10 </copyright>
11 </refmetainfo>
12 <refentrytitle>glBlendEquation</refentrytitle>
13 <manvolnum>3G</manvolnum>
14 </refmeta>
15 <refnamediv>
16 <refname>glBlendEquation</refname>
17 <refpurpose>specify the equation used for both the RGB blend equation and the Alpha blend equation</refpurpose>
18 </refnamediv>
19 <refsynopsisdiv><title>C Specification</title>
20 <funcsynopsis>
21 <funcprototype>
22 <funcdef>void <function>glBlendEquation</function></funcdef>
23 <paramdef>GLenum <parameter>mode</parameter></paramdef>
24 </funcprototype>
25 </funcsynopsis>
26 </refsynopsisdiv>
27 <!-- eqn: ignoring delim $$ -->
28 <refsect1 id="parameters"><title>Parameters</title>
29 <variablelist>
30 <varlistentry>
31 <term><parameter>mode</parameter></term>
32 <listitem>
33 <para>
34 specifies how source and destination colors are combined.
35 It must be <constant>GL_FUNC_ADD</constant>, <constant>GL_FUNC_SUBTRACT</constant>,
36 <constant>GL_FUNC_REVERSE_SUBTRACT</constant>, <constant>GL_MIN</constant>, <constant>GL_MAX</constant>.
37 </para>
38 </listitem>
39 </varlistentry>
40 </variablelist>
41 </refsect1>
42 <refsect1 id="description"><title>Description</title>
43 <para>
44 The blend equations determine how a new pixel (the ''source'' color)
45 is combined with a pixel already in the framebuffer (the ''destination''
46 color). This function sets both the RGB blend equation and the alpha
47 blend equation to a single equation.
48 </para>
49 <para>
50 These equations use the source and destination blend factors
51 specified by either <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry> or
52 <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>.
53 See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry> or <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>
54 for a description of the various blend factors.
55 </para>
56 <para>
57 In the equations that follow, source and destination
58 color components are referred to as
59 <inlineequation><mml:math>
60 <!-- eqn: ( R sub s, G sub s, B sub s, A sub s ):-->
61 <mml:mfenced open="(" close=")">
62 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
63 <mml:mi mathvariant="italic">s</mml:mi>
64 </mml:msub>
65 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
66 <mml:mi mathvariant="italic">s</mml:mi>
67 </mml:msub>
68 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
69 <mml:mi mathvariant="italic">s</mml:mi>
70 </mml:msub>
71 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
72 <mml:mi mathvariant="italic">s</mml:mi>
73 </mml:msub>
74 </mml:mfenced>
75 </mml:math></inlineequation>
76 and
77 <inlineequation><mml:math>
78 <!-- eqn: ( R sub d, G sub d, B sub d, A sub d ):-->
79 <mml:mfenced open="(" close=")">
80 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
81 <mml:mi mathvariant="italic">d</mml:mi>
82 </mml:msub>
83 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
84 <mml:mi mathvariant="italic">d</mml:mi>
85 </mml:msub>
86 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
87 <mml:mi mathvariant="italic">d</mml:mi>
88 </mml:msub>
89 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
90 <mml:mi mathvariant="italic">d</mml:mi>
91 </mml:msub>
92 </mml:mfenced>
93 </mml:math></inlineequation>,
94 respectively.
95 The result color is referred to as
96 <inlineequation><mml:math>
97 <!-- eqn: ( R sub r, G sub r, B sub r, A sub r ):-->
98 <mml:mfenced open="(" close=")">
99 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
100 <mml:mi mathvariant="italic">r</mml:mi>
101 </mml:msub>
102 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
103 <mml:mi mathvariant="italic">r</mml:mi>
104 </mml:msub>
105 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
106 <mml:mi mathvariant="italic">r</mml:mi>
107 </mml:msub>
108 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
109 <mml:mi mathvariant="italic">r</mml:mi>
110 </mml:msub>
111 </mml:mfenced>
112 </mml:math></inlineequation>.
113 The source and destination blend factors are denoted
114 <inlineequation><mml:math>
115 <!-- eqn: ( s sub R, s sub G, s sub B, s sub A ):-->
116 <mml:mfenced open="(" close=")">
117 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
118 <mml:mi mathvariant="italic">R</mml:mi>
119 </mml:msub>
120 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
121 <mml:mi mathvariant="italic">G</mml:mi>
122 </mml:msub>
123 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
124 <mml:mi mathvariant="italic">B</mml:mi>
125 </mml:msub>
126 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
127 <mml:mi mathvariant="italic">A</mml:mi>
128 </mml:msub>
129 </mml:mfenced>
130 </mml:math></inlineequation>
131 and
132 <inlineequation><mml:math>
133 <!-- eqn: ( d sub R, d sub G, d sub B, d sub A ):-->
134 <mml:mfenced open="(" close=")">
135 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
136 <mml:mi mathvariant="italic">R</mml:mi>
137 </mml:msub>
138 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
139 <mml:mi mathvariant="italic">G</mml:mi>
140 </mml:msub>
141 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
142 <mml:mi mathvariant="italic">B</mml:mi>
143 </mml:msub>
144 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
145 <mml:mi mathvariant="italic">A</mml:mi>
146 </mml:msub>
147 </mml:mfenced>
148 </mml:math></inlineequation>,
149 respectively.
150 For these equations all color components are understood to have values
151 in the range
152 <inlineequation><mml:math>
153 <!-- eqn: [0,1]:-->
154 <mml:mfenced open="[" close="]">
155 <mml:mn>0</mml:mn>
156 <mml:mn>1</mml:mn>
157 </mml:mfenced>
158 </mml:math></inlineequation>.
159
160 <informaltable frame="topbot">
161 <tgroup cols="3" align="left">
162 <colspec colwidth="1.1*" />
163 <colspec colwidth="1*" />
164 <colspec colwidth="1*" />
165 <thead>
166 <row>
167 <entry rowsep="1" align="left"><emphasis role="bold">
168 Mode
169 </emphasis></entry>
170 <entry rowsep="1" align="left"><emphasis role="bold">
171 RGB Components
172 </emphasis></entry>
173 <entry rowsep="1" align="left"><emphasis role="bold">
174 Alpha Component
175 </emphasis></entry>
176 </row>
177 </thead>
178 <tbody>
179 <row>
180 <entry align="left">
181 <constant>GL_FUNC_ADD</constant>
182 </entry>
183 <entry align="left">
184 <informalequation><mml:math>
185 <!-- eqn: Rr = R sub s s sub R + R sub d d sub R :-->
186 <mml:mrow>
187 <mml:mi mathvariant="italic">Rr</mml:mi>
188 <mml:mo>=</mml:mo>
189 <mml:mrow>
190 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
191 <mml:mi mathvariant="italic">s</mml:mi>
192 </mml:msub>
193 <mml:mo>&it;</mml:mo>
194 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
195 <mml:mi mathvariant="italic">R</mml:mi>
196 </mml:msub>
197 <mml:mo>+</mml:mo>
198 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
199 <mml:mi mathvariant="italic">d</mml:mi>
200 </mml:msub>
201 <mml:mo>&it;</mml:mo>
202 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
203 <mml:mi mathvariant="italic">R</mml:mi>
204 </mml:msub>
205 </mml:mrow>
206 </mml:mrow>
207 </mml:math></informalequation>
208 <informalequation><mml:math>
209 <!-- eqn: Gr = G sub s s sub G + G sub d d sub G :-->
210 <mml:mrow>
211 <mml:mi mathvariant="italic">Gr</mml:mi>
212 <mml:mo>=</mml:mo>
213 <mml:mrow>
214 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
215 <mml:mi mathvariant="italic">s</mml:mi>
216 </mml:msub>
217 <mml:mo>&it;</mml:mo>
218 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
219 <mml:mi mathvariant="italic">G</mml:mi>
220 </mml:msub>
221 <mml:mo>+</mml:mo>
222 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
223 <mml:mi mathvariant="italic">d</mml:mi>
224 </mml:msub>
225 <mml:mo>&it;</mml:mo>
226 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
227 <mml:mi mathvariant="italic">G</mml:mi>
228 </mml:msub>
229 </mml:mrow>
230 </mml:mrow>
231 </mml:math></informalequation>
232 <informalequation><mml:math>
233 <!-- eqn: Br = B sub s s sub B + B sub d d sub B :-->
234 <mml:mrow>
235 <mml:mi mathvariant="italic">Br</mml:mi>
236 <mml:mo>=</mml:mo>
237 <mml:mrow>
238 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
239 <mml:mi mathvariant="italic">s</mml:mi>
240 </mml:msub>
241 <mml:mo>&it;</mml:mo>
242 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
243 <mml:mi mathvariant="italic">B</mml:mi>
244 </mml:msub>
245 <mml:mo>+</mml:mo>
246 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
247 <mml:mi mathvariant="italic">d</mml:mi>
248 </mml:msub>
249 <mml:mo>&it;</mml:mo>
250 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
251 <mml:mi mathvariant="italic">B</mml:mi>
252 </mml:msub>
253 </mml:mrow>
254 </mml:mrow>
255 </mml:math></informalequation>
256 </entry>
257 <entry align="left">
258 <informalequation><mml:math>
259 <!-- eqn: Ar = A sub s s sub A + A sub d d sub A :-->
260 <mml:mrow>
261 <mml:mi mathvariant="italic">Ar</mml:mi>
262 <mml:mo>=</mml:mo>
263 <mml:mrow>
264 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
265 <mml:mi mathvariant="italic">s</mml:mi>
266 </mml:msub>
267 <mml:mo>&it;</mml:mo>
268 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
269 <mml:mi mathvariant="italic">A</mml:mi>
270 </mml:msub>
271 <mml:mo>+</mml:mo>
272 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
273 <mml:mi mathvariant="italic">d</mml:mi>
274 </mml:msub>
275 <mml:mo>&it;</mml:mo>
276 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
277 <mml:mi mathvariant="italic">A</mml:mi>
278 </mml:msub>
279 </mml:mrow>
280 </mml:mrow>
281 </mml:math></informalequation>
282 </entry>
283 </row>
284 <row>
285 <entry align="left">
286 <constant>GL_FUNC_SUBTRACT</constant>
287 </entry>
288 <entry align="left">
289 <informalequation><mml:math>
290 <!-- eqn: Rr = R sub s s sub R - R sub d d sub R :-->
291 <mml:mrow>
292 <mml:mi mathvariant="italic">Rr</mml:mi>
293 <mml:mo>=</mml:mo>
294 <mml:mrow>
295 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
296 <mml:mi mathvariant="italic">s</mml:mi>
297 </mml:msub>
298 <mml:mo>&it;</mml:mo>
299 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
300 <mml:mi mathvariant="italic">R</mml:mi>
301 </mml:msub>
302 <mml:mo>-</mml:mo>
303 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
304 <mml:mi mathvariant="italic">d</mml:mi>
305 </mml:msub>
306 <mml:mo>&it;</mml:mo>
307 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
308 <mml:mi mathvariant="italic">R</mml:mi>
309 </mml:msub>
310 </mml:mrow>
311 </mml:mrow>
312 </mml:math></informalequation>
313 <informalequation><mml:math>
314 <!-- eqn: Gr = G sub s s sub G - G sub d d sub G :-->
315 <mml:mrow>
316 <mml:mi mathvariant="italic">Gr</mml:mi>
317 <mml:mo>=</mml:mo>
318 <mml:mrow>
319 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
320 <mml:mi mathvariant="italic">s</mml:mi>
321 </mml:msub>
322 <mml:mo>&it;</mml:mo>
323 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
324 <mml:mi mathvariant="italic">G</mml:mi>
325 </mml:msub>
326 <mml:mo>-</mml:mo>
327 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
328 <mml:mi mathvariant="italic">d</mml:mi>
329 </mml:msub>
330 <mml:mo>&it;</mml:mo>
331 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
332 <mml:mi mathvariant="italic">G</mml:mi>
333 </mml:msub>
334 </mml:mrow>
335 </mml:mrow>
336 </mml:math></informalequation>
337 <informalequation><mml:math>
338 <!-- eqn: Br = B sub s s sub B - B sub d d sub B :-->
339 <mml:mrow>
340 <mml:mi mathvariant="italic">Br</mml:mi>
341 <mml:mo>=</mml:mo>
342 <mml:mrow>
343 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
344 <mml:mi mathvariant="italic">s</mml:mi>
345 </mml:msub>
346 <mml:mo>&it;</mml:mo>
347 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
348 <mml:mi mathvariant="italic">B</mml:mi>
349 </mml:msub>
350 <mml:mo>-</mml:mo>
351 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
352 <mml:mi mathvariant="italic">d</mml:mi>
353 </mml:msub>
354 <mml:mo>&it;</mml:mo>
355 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
356 <mml:mi mathvariant="italic">B</mml:mi>
357 </mml:msub>
358 </mml:mrow>
359 </mml:mrow>
360 </mml:math></informalequation>
361 </entry>
362 <entry align="left">
363 <informalequation><mml:math>
364 <!-- eqn: Ar = A sub s s sub A - A sub d d sub A :-->
365 <mml:mrow>
366 <mml:mi mathvariant="italic">Ar</mml:mi>
367 <mml:mo>=</mml:mo>
368 <mml:mrow>
369 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
370 <mml:mi mathvariant="italic">s</mml:mi>
371 </mml:msub>
372 <mml:mo>&it;</mml:mo>
373 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
374 <mml:mi mathvariant="italic">A</mml:mi>
375 </mml:msub>
376 <mml:mo>-</mml:mo>
377 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
378 <mml:mi mathvariant="italic">d</mml:mi>
379 </mml:msub>
380 <mml:mo>&it;</mml:mo>
381 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
382 <mml:mi mathvariant="italic">A</mml:mi>
383 </mml:msub>
384 </mml:mrow>
385 </mml:mrow>
386 </mml:math></informalequation>
387 </entry>
388 </row>
389 <row>
390 <entry align="left">
391 <constant>GL_FUNC_REVERSE_SUBTRACT</constant>
392 </entry>
393 <entry align="left">
394 <informalequation><mml:math>
395 <!-- eqn: Rr = R sub d d sub R - R sub s s sub R :-->
396 <mml:mrow>
397 <mml:mi mathvariant="italic">Rr</mml:mi>
398 <mml:mo>=</mml:mo>
399 <mml:mrow>
400 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
401 <mml:mi mathvariant="italic">d</mml:mi>
402 </mml:msub>
403 <mml:mo>&it;</mml:mo>
404 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
405 <mml:mi mathvariant="italic">R</mml:mi>
406 </mml:msub>
407 <mml:mo>-</mml:mo>
408 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
409 <mml:mi mathvariant="italic">s</mml:mi>
410 </mml:msub>
411 <mml:mo>&it;</mml:mo>
412 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
413 <mml:mi mathvariant="italic">R</mml:mi>
414 </mml:msub>
415 </mml:mrow>
416 </mml:mrow>
417 </mml:math></informalequation>
418 <informalequation><mml:math>
419 <!-- eqn: Gr = G sub d d sub G - G sub s s sub G :-->
420 <mml:mrow>
421 <mml:mi mathvariant="italic">Gr</mml:mi>
422 <mml:mo>=</mml:mo>
423 <mml:mrow>
424 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
425 <mml:mi mathvariant="italic">d</mml:mi>
426 </mml:msub>
427 <mml:mo>&it;</mml:mo>
428 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
429 <mml:mi mathvariant="italic">G</mml:mi>
430 </mml:msub>
431 <mml:mo>-</mml:mo>
432 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
433 <mml:mi mathvariant="italic">s</mml:mi>
434 </mml:msub>
435 <mml:mo>&it;</mml:mo>
436 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
437 <mml:mi mathvariant="italic">G</mml:mi>
438 </mml:msub>
439 </mml:mrow>
440 </mml:mrow>
441 </mml:math></informalequation>
442 <informalequation><mml:math>
443 <!-- eqn: Br = B sub d d sub B - B sub s s sub B :-->
444 <mml:mrow>
445 <mml:mi mathvariant="italic">Br</mml:mi>
446 <mml:mo>=</mml:mo>
447 <mml:mrow>
448 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
449 <mml:mi mathvariant="italic">d</mml:mi>
450 </mml:msub>
451 <mml:mo>&it;</mml:mo>
452 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
453 <mml:mi mathvariant="italic">B</mml:mi>
454 </mml:msub>
455 <mml:mo>-</mml:mo>
456 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
457 <mml:mi mathvariant="italic">s</mml:mi>
458 </mml:msub>
459 <mml:mo>&it;</mml:mo>
460 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
461 <mml:mi mathvariant="italic">B</mml:mi>
462 </mml:msub>
463 </mml:mrow>
464 </mml:mrow>
465 </mml:math></informalequation>
466 </entry>
467 <entry align="left">
468 <informalequation><mml:math>
469 <!-- eqn: Ar = A sub d d sub A - A sub s s sub A :-->
470 <mml:mrow>
471 <mml:mi mathvariant="italic">Ar</mml:mi>
472 <mml:mo>=</mml:mo>
473 <mml:mrow>
474 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
475 <mml:mi mathvariant="italic">d</mml:mi>
476 </mml:msub>
477 <mml:mo>&it;</mml:mo>
478 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
479 <mml:mi mathvariant="italic">A</mml:mi>
480 </mml:msub>
481 <mml:mo>-</mml:mo>
482 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
483 <mml:mi mathvariant="italic">s</mml:mi>
484 </mml:msub>
485 <mml:mo>&it;</mml:mo>
486 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
487 <mml:mi mathvariant="italic">A</mml:mi>
488 </mml:msub>
489 </mml:mrow>
490 </mml:mrow>
491 </mml:math></informalequation>
492 </entry>
493 </row>
494 <row>
495 <entry align="left">
496 <constant>GL_MIN</constant>
497 </entry>
498 <entry align="left">
499 <informalequation><mml:math>
500 <!-- eqn: Rr = min ( R sub s, R sub d):-->
501 <mml:mrow>
502 <mml:mi mathvariant="italic">Rr</mml:mi>
503 <mml:mo>=</mml:mo>
504 <mml:mrow>
505 <mml:mi mathvariant="italic">min</mml:mi>
506 <mml:mo>&af;</mml:mo>
507 <mml:mfenced open="(" close=")">
508 <mml:mrow>
509 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
510 <mml:mi mathvariant="italic">s</mml:mi>
511 </mml:msub>
512 </mml:mrow>
513 <mml:mrow>
514 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
515 <mml:mi mathvariant="italic">d</mml:mi>
516 </mml:msub>
517 </mml:mrow>
518 </mml:mfenced>
519 </mml:mrow>
520 </mml:mrow>
521 </mml:math></informalequation>
522 <informalequation><mml:math>
523 <!-- eqn: Gr = min ( G sub s, G sub d):-->
524 <mml:mrow>
525 <mml:mi mathvariant="italic">Gr</mml:mi>
526 <mml:mo>=</mml:mo>
527 <mml:mrow>
528 <mml:mi mathvariant="italic">min</mml:mi>
529 <mml:mo>&af;</mml:mo>
530 <mml:mfenced open="(" close=")">
531 <mml:mrow>
532 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
533 <mml:mi mathvariant="italic">s</mml:mi>
534 </mml:msub>
535 </mml:mrow>
536 <mml:mrow>
537 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
538 <mml:mi mathvariant="italic">d</mml:mi>
539 </mml:msub>
540 </mml:mrow>
541 </mml:mfenced>
542 </mml:mrow>
543 </mml:mrow>
544 </mml:math></informalequation>
545 <informalequation><mml:math>
546 <!-- eqn: Br = min ( B sub s, B sub d):-->
547 <mml:mrow>
548 <mml:mi mathvariant="italic">Br</mml:mi>
549 <mml:mo>=</mml:mo>
550 <mml:mrow>
551 <mml:mi mathvariant="italic">min</mml:mi>
552 <mml:mo>&af;</mml:mo>
553 <mml:mfenced open="(" close=")">
554 <mml:mrow>
555 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
556 <mml:mi mathvariant="italic">s</mml:mi>
557 </mml:msub>
558 </mml:mrow>
559 <mml:mrow>
560 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
561 <mml:mi mathvariant="italic">d</mml:mi>
562 </mml:msub>
563 </mml:mrow>
564 </mml:mfenced>
565 </mml:mrow>
566 </mml:mrow>
567 </mml:math></informalequation>
568 </entry>
569 <entry align="left">
570 <informalequation><mml:math>
571 <!-- eqn: Ar = min ( A sub s, A sub d):-->
572 <mml:mrow>
573 <mml:mi mathvariant="italic">Ar</mml:mi>
574 <mml:mo>=</mml:mo>
575 <mml:mrow>
576 <mml:mi mathvariant="italic">min</mml:mi>
577 <mml:mo>&af;</mml:mo>
578 <mml:mfenced open="(" close=")">
579 <mml:mrow>
580 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
581 <mml:mi mathvariant="italic">s</mml:mi>
582 </mml:msub>
583 </mml:mrow>
584 <mml:mrow>
585 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
586 <mml:mi mathvariant="italic">d</mml:mi>
587 </mml:msub>
588 </mml:mrow>
589 </mml:mfenced>
590 </mml:mrow>
591 </mml:mrow>
592 </mml:math></informalequation>
593 </entry>
594 </row>
595 <row>
596 <entry align="left">
597 <constant>GL_MAX</constant>
598 </entry>
599 <entry align="left">
600 <informalequation><mml:math>
601 <!-- eqn: Rr = max ( R sub s, R sub d):-->
602 <mml:mrow>
603 <mml:mi mathvariant="italic">Rr</mml:mi>
604 <mml:mo>=</mml:mo>
605 <mml:mrow>
606 <mml:mi mathvariant="italic">max</mml:mi>
607 <mml:mo>&af;</mml:mo>
608 <mml:mfenced open="(" close=")">
609 <mml:mrow>
610 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
611 <mml:mi mathvariant="italic">s</mml:mi>
612 </mml:msub>
613 </mml:mrow>
614 <mml:mrow>
615 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
616 <mml:mi mathvariant="italic">d</mml:mi>
617 </mml:msub>
618 </mml:mrow>
619 </mml:mfenced>
620 </mml:mrow>
621 </mml:mrow>
622 </mml:math></informalequation>
623 <informalequation><mml:math>
624 <!-- eqn: Gr = max ( G sub s, G sub d):-->
625 <mml:mrow>
626 <mml:mi mathvariant="italic">Gr</mml:mi>
627 <mml:mo>=</mml:mo>
628 <mml:mrow>
629 <mml:mi mathvariant="italic">max</mml:mi>
630 <mml:mo>&af;</mml:mo>
631 <mml:mfenced open="(" close=")">
632 <mml:mrow>
633 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
634 <mml:mi mathvariant="italic">s</mml:mi>
635 </mml:msub>
636 </mml:mrow>
637 <mml:mrow>
638 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
639 <mml:mi mathvariant="italic">d</mml:mi>
640 </mml:msub>
641 </mml:mrow>
642 </mml:mfenced>
643 </mml:mrow>
644 </mml:mrow>
645 </mml:math></informalequation>
646 <informalequation><mml:math>
647 <!-- eqn: Br = max ( B sub s, B sub d):-->
648 <mml:mrow>
649 <mml:mi mathvariant="italic">Br</mml:mi>
650 <mml:mo>=</mml:mo>
651 <mml:mrow>
652 <mml:mi mathvariant="italic">max</mml:mi>
653 <mml:mo>&af;</mml:mo>
654 <mml:mfenced open="(" close=")">
655 <mml:mrow>
656 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
657 <mml:mi mathvariant="italic">s</mml:mi>
658 </mml:msub>
659 </mml:mrow>
660 <mml:mrow>
661 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
662 <mml:mi mathvariant="italic">d</mml:mi>
663 </mml:msub>
664 </mml:mrow>
665 </mml:mfenced>
666 </mml:mrow>
667 </mml:mrow>
668 </mml:math></informalequation>
669 </entry>
670 <entry align="left">
671 <informalequation><mml:math>
672 <!-- eqn: Ar = max ( A sub s, A sub d):-->
673 <mml:mrow>
674 <mml:mi mathvariant="italic">Ar</mml:mi>
675 <mml:mo>=</mml:mo>
676 <mml:mrow>
677 <mml:mi mathvariant="italic">max</mml:mi>
678 <mml:mo>&af;</mml:mo>
679 <mml:mfenced open="(" close=")">
680 <mml:mrow>
681 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
682 <mml:mi mathvariant="italic">s</mml:mi>
683 </mml:msub>
684 </mml:mrow>
685 <mml:mrow>
686 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
687 <mml:mi mathvariant="italic">d</mml:mi>
688 </mml:msub>
689 </mml:mrow>
690 </mml:mfenced>
691 </mml:mrow>
692 </mml:mrow>
693 </mml:math></informalequation>
694 </entry>
695 </row>
696 </tbody>
697 </tgroup>
698 </informaltable>
699 </para>
700 <para>
701 The results of these equations are clamped to the range
702 <inlineequation><mml:math>
703 <!-- eqn: [0,1]:-->
704 <mml:mfenced open="[" close="]">
705 <mml:mn>0</mml:mn>
706 <mml:mn>1</mml:mn>
707 </mml:mfenced>
708 </mml:math></inlineequation>.
709 </para>
710 <para>
711 The <constant>GL_MIN</constant> and <constant>GL_MAX</constant> equations are useful for applications
712 that analyze image data (image thresholding against a constant color,
713 for example).
714 The <constant>GL_FUNC_ADD</constant> equation is useful
715 for antialiasing and transparency, among other things.
716 </para>
717 <para>
718 Initially, both the RGB blend equation and the alpha blend equation are set to <constant>GL_FUNC_ADD</constant>.
719 </para>
720 <para>
721 </para>
722 </refsect1>
723 <refsect1 id="notes"><title>Notes</title>
724 <para>
725 The <constant>GL_MIN</constant>, and <constant>GL_MAX</constant> equations do not use
726 the source or destination factors, only the source and destination colors.
727 </para>
728 </refsect1>
729 <refsect1 id="errors"><title>Errors</title>
730 <para>
731 <constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not one of
732 <constant>GL_FUNC_ADD</constant>, <constant>GL_FUNC_SUBTRACT</constant>, <constant>GL_FUNC_REVERSE_SUBTRACT</constant>,
733 <constant>GL_MAX</constant>, or <constant>GL_MIN</constant>.
734 </para>
735 <para>
736 <constant>GL_INVALID_OPERATION</constant> is generated if <function>glBlendEquation</function> is executed
737 between the execution of <citerefentry><refentrytitle>glBegin</refentrytitle></citerefentry> and the corresponding
738 execution of <citerefentry><refentrytitle>glEnd</refentrytitle></citerefentry>.
739 </para>
740 </refsect1>
741 <refsect1 id="associatedgets"><title>Associated Gets</title>
742 <para>
743 <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with an argument of <constant>GL_BLEND_EQUATION_RGB</constant>
744 </para>
745 <para>
746 <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with an argument of <constant>GL_BLEND_EQUATION_ALPHA</constant>
747 </para>
748 </refsect1>
749 <refsect1 id="seealso"><title>See Also</title>
750 <para>
751 <citerefentry><refentrytitle>glGetString</refentrytitle></citerefentry>,
752 <citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry>,
753 <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>
754 <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>
755 </para>
756 </refsect1>
757 <refsect1 id="Copyright"><title>Copyright</title>
758 <para>
759 Copyright <trademark class="copyright"></trademark> 1991-2006
760 Silicon Graphics, Inc. This document is licensed under the SGI
761 Free Software B License. For details, see
762 <ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
763 </para>
764 </refsect1>
765 </refentry>