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