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