1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
3 <!-- saved from url=(0013)about:internet -->
4 <?xml-stylesheet type=
"text/xsl" href=
"mathml.xsl"?><html xmlns=
"http://www.w3.org/1999/xhtml" xmlns:
pref=
"http://www.w3.org/2002/Math/preference" pref:
renderer=
"mathplayer-dl"><head><meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" /><link rel=
"stylesheet" type=
"text/css" href=
"opengl-man.css" /><title>glBlendFunc - OpenGL
3.3 Reference Pages
</title><meta name=
"generator" content=
"DocBook XSL Stylesheets V1.69.1" /></head><body><div class=
"refentry" lang=
"en" xml:
lang=
"en"><a id=
"glBlendFunc"></a><div class=
"titlepage"></div><div class=
"refnamediv"><h2>Name
</h2><p>glBlendFunc — specify pixel arithmetic
</p></div><div class=
"refsynopsisdiv"><h2>C Specification
</h2><div class=
"funcsynopsis"><table border=
"0" summary=
"Function synopsis" cellspacing=
"0" cellpadding=
"0"><tr><td><code class=
"funcdef">void
<b class=
"fsfunc">glBlendFunc
</b>(
</code></td><td>GLenum
</td><td><var class=
"pdparam">sfactor
</var>,
</td></tr><tr><td> </td><td>GLenum
</td><td><var class=
"pdparam">dfactor
</var><code>)
</code>;
</td></tr></table></div></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"parameters"></a><h2>Parameters
</h2><div class=
"variablelist"><dl><dt><span class=
"term"><em class=
"parameter"><code>sfactor
</code></em></span></dt><dd><p>
5 Specifies how the red, green, blue,
6 and alpha source blending factors are computed.
7 The initial value is
<code class=
"constant">GL_ONE
</code>.
8 </p></dd><dt><span class=
"term"><em class=
"parameter"><code>dfactor
</code></em></span></dt><dd><p>
9 Specifies how the red, green, blue,
10 and alpha destination blending factors are computed.
11 The following symbolic constants are accepted:
12 <code class=
"constant">GL_ZERO
</code>,
13 <code class=
"constant">GL_ONE
</code>,
14 <code class=
"constant">GL_SRC_COLOR
</code>,
15 <code class=
"constant">GL_ONE_MINUS_SRC_COLOR
</code>,
16 <code class=
"constant">GL_DST_COLOR
</code>,
17 <code class=
"constant">GL_ONE_MINUS_DST_COLOR
</code>,
18 <code class=
"constant">GL_SRC_ALPHA
</code>,
19 <code class=
"constant">GL_ONE_MINUS_SRC_ALPHA
</code>,
20 <code class=
"constant">GL_DST_ALPHA
</code>,
21 <code class=
"constant">GL_ONE_MINUS_DST_ALPHA
</code>.
22 <code class=
"constant">GL_CONSTANT_COLOR
</code>,
23 <code class=
"constant">GL_ONE_MINUS_CONSTANT_COLOR
</code>,
24 <code class=
"constant">GL_CONSTANT_ALPHA
</code>, and
25 <code class=
"constant">GL_ONE_MINUS_CONSTANT_ALPHA
</code>.
26 The initial value is
<code class=
"constant">GL_ZERO
</code>.
27 </p></dd></dl></div></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"description"></a><h2>Description
</h2><p>
28 Pixels can be drawn using a function that blends
29 the incoming (source) RGBA values with the RGBA values
30 that are already in the frame buffer (the destination values).
31 Blending is initially disabled.
32 Use
<a href=
"glEnable.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glEnable
</span></span></a> and
<a href=
"glDisable.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glDisable
</span></span></a> with argument
<code class=
"constant">GL_BLEND
</code>
33 to enable and disable blending.
35 <code class=
"function">glBlendFunc
</code> defines the operation of blending when it is enabled.
36 <em class=
"parameter"><code>sfactor
</code></em> specifies which method is used to scale the
37 source color components.
38 <em class=
"parameter"><code>dfactor
</code></em> specifies which method is used to scale the
39 destination color components.
40 Both parameters must be one of the following symbolic constants:
41 <code class=
"constant">GL_ZERO
</code>,
42 <code class=
"constant">GL_ONE
</code>,
43 <code class=
"constant">GL_SRC_COLOR
</code>,
44 <code class=
"constant">GL_ONE_MINUS_SRC_COLOR
</code>,
45 <code class=
"constant">GL_DST_COLOR
</code>,
46 <code class=
"constant">GL_ONE_MINUS_DST_COLOR
</code>,
47 <code class=
"constant">GL_SRC_ALPHA
</code>,
48 <code class=
"constant">GL_ONE_MINUS_SRC_ALPHA
</code>,
49 <code class=
"constant">GL_DST_ALPHA
</code>,
50 <code class=
"constant">GL_ONE_MINUS_DST_ALPHA
</code>,
51 <code class=
"constant">GL_CONSTANT_COLOR
</code>,
52 <code class=
"constant">GL_ONE_MINUS_CONSTANT_COLOR
</code>,
53 <code class=
"constant">GL_CONSTANT_ALPHA
</code>,
54 <code class=
"constant">GL_ONE_MINUS_CONSTANT_ALPHA
</code>,
55 <code class=
"constant">GL_SRC_ALPHA_SATURATE
</code>,
56 <code class=
"constant">GL_SRC1_COLOR
</code>,
57 <code class=
"constant">GL_ONE_MINUS_SRC1_COLOR
</code>,
58 <code class=
"constant">GL_SRC1_ALPHA
</code>, and
59 <code class=
"constant">GL_ONE_MINUS_SRC1_ALPHA
</code>.
60 The possible methods are described in the following table.
61 Each method defines four scale factors,
62 one each for red, green, blue, and alpha.
63 In the table and in subsequent equations, first source, second source
64 and destination color components are referred to as
65 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
67 <mml:mfenced open=
"(" close=
")">
68 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
69 <mml:mi mathvariant=
"italic">s0
</mml:mi>
71 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
72 <mml:mi mathvariant=
"italic">s0
</mml:mi>
74 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
75 <mml:mi mathvariant=
"italic">s0
</mml:mi>
77 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
78 <mml:mi mathvariant=
"italic">s0
</mml:mi>
82 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
84 <mml:mfenced open=
"(" close=
")">
85 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
86 <mml:mi mathvariant=
"italic">s1
</mml:mi>
88 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
89 <mml:mi mathvariant=
"italic">s1
</mml:mi>
91 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
92 <mml:mi mathvariant=
"italic">s1
</mml:mi>
94 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
95 <mml:mi mathvariant=
"italic">s1
</mml:mi>
100 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
102 <mml:mfenced open=
"(" close=
")">
103 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
104 <mml:mi mathvariant=
"italic">d
</mml:mi>
106 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
107 <mml:mi mathvariant=
"italic">d
</mml:mi>
109 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
110 <mml:mi mathvariant=
"italic">d
</mml:mi>
112 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
113 <mml:mi mathvariant=
"italic">d
</mml:mi>
116 </mml:math>, respectively.
117 The color specified by
<a href=
"glBlendColor.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glBlendColor
</span></span></a> is referred to as
118 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
120 <mml:mfenced open=
"(" close=
")">
121 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
122 <mml:mi mathvariant=
"italic">c
</mml:mi>
124 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
125 <mml:mi mathvariant=
"italic">c
</mml:mi>
127 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
128 <mml:mi mathvariant=
"italic">c
</mml:mi>
130 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
131 <mml:mi mathvariant=
"italic">c
</mml:mi>
135 They are understood to have integer values between
0 and
136 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
138 <mml:mfenced open=
"(" close=
")">
139 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
140 <mml:mi mathvariant=
"italic">R
</mml:mi>
142 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
143 <mml:mi mathvariant=
"italic">G
</mml:mi>
145 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
146 <mml:mi mathvariant=
"italic">B
</mml:mi>
148 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
149 <mml:mi mathvariant=
"italic">A
</mml:mi>
156 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
159 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
160 <mml:mi mathvariant=
"italic">c
</mml:mi>
164 <mml:msup><mml:mn>2</mml:mn>
165 <mml:mfenced open=
"" close=
"">
166 <mml:msub><mml:mi mathvariant=
"italic">m
</mml:mi>
167 <mml:mi mathvariant=
"italic">c
</mml:mi>
179 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
181 <mml:mfenced open=
"(" close=
")">
182 <mml:msub><mml:mi mathvariant=
"italic">m
</mml:mi>
183 <mml:mi mathvariant=
"italic">R
</mml:mi>
185 <mml:msub><mml:mi mathvariant=
"italic">m
</mml:mi>
186 <mml:mi mathvariant=
"italic">G
</mml:mi>
188 <mml:msub><mml:mi mathvariant=
"italic">m
</mml:mi>
189 <mml:mi mathvariant=
"italic">B
</mml:mi>
191 <mml:msub><mml:mi mathvariant=
"italic">m
</mml:mi>
192 <mml:mi mathvariant=
"italic">A
</mml:mi>
196 is the number of red,
201 Source and destination scale factors are referred to as
202 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
204 <mml:mfenced open=
"(" close=
")">
205 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
206 <mml:mi mathvariant=
"italic">R
</mml:mi>
208 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
209 <mml:mi mathvariant=
"italic">G
</mml:mi>
211 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
212 <mml:mi mathvariant=
"italic">B
</mml:mi>
214 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
215 <mml:mi mathvariant=
"italic">A
</mml:mi>
220 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
222 <mml:mfenced open=
"(" close=
")">
223 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
224 <mml:mi mathvariant=
"italic">R
</mml:mi>
226 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
227 <mml:mi mathvariant=
"italic">G
</mml:mi>
229 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
230 <mml:mi mathvariant=
"italic">B
</mml:mi>
232 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
233 <mml:mi mathvariant=
"italic">A
</mml:mi>
237 The scale factors described in the table,
239 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
241 <mml:mfenced open=
"(" close=
")">
242 <mml:msub><mml:mi mathvariant=
"italic">f
</mml:mi>
243 <mml:mi mathvariant=
"italic">R
</mml:mi>
245 <mml:msub><mml:mi mathvariant=
"italic">f
</mml:mi>
246 <mml:mi mathvariant=
"italic">G
</mml:mi>
248 <mml:msub><mml:mi mathvariant=
"italic">f
</mml:mi>
249 <mml:mi mathvariant=
"italic">B
</mml:mi>
251 <mml:msub><mml:mi mathvariant=
"italic">f
</mml:mi>
252 <mml:mi mathvariant=
"italic">A
</mml:mi>
256 represent either source or destination factors.
257 All scale factors have range
258 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
260 <mml:mfenced open=
"[" close=
"]">
266 </p><div class=
"informaltable"><table border=
"1"><colgroup><col align=
"left" /><col align=
"left" /></colgroup><thead><tr><th align=
"left"><span class=
"bold"><strong>
268 </strong></span></th><th align=
"left"><span class=
"bold"><strong>
269 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
271 <mml:mfenced open=
"(" close=
")">
272 <mml:msub><mml:mi mathvariant=
"italic">f
</mml:mi>
273 <mml:mi mathvariant=
"italic">R
</mml:mi>
275 <mml:msub><mml:mi mathvariant=
"italic">f
</mml:mi>
276 <mml:mi mathvariant=
"italic">G
</mml:mi>
278 <mml:msub><mml:mi mathvariant=
"italic">f
</mml:mi>
279 <mml:mi mathvariant=
"italic">B
</mml:mi>
281 <mml:msub><mml:mi mathvariant=
"italic">f
</mml:mi>
282 <mml:mi mathvariant=
"italic">A
</mml:mi>
286 </strong></span></th></tr></thead><tbody><tr><td align=
"left">
287 <code class=
"constant">GL_ZERO
</code>
288 </td><td align=
"left">
289 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
291 <mml:mfenced open=
"(" close=
")">
298 </td></tr><tr><td align=
"left">
299 <code class=
"constant">GL_ONE
</code>
300 </td><td align=
"left">
301 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
303 <mml:mfenced open=
"(" close=
")">
310 </td></tr><tr><td align=
"left">
311 <code class=
"constant">GL_SRC_COLOR
</code>
312 </td><td align=
"left">
313 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
315 <mml:mfenced open=
"(" close=
")">
317 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
318 <mml:mi mathvariant=
"italic">s0
</mml:mi>
320 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
321 <mml:mi mathvariant=
"italic">R
</mml:mi>
325 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
326 <mml:mi mathvariant=
"italic">s0
</mml:mi>
328 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
329 <mml:mi mathvariant=
"italic">G
</mml:mi>
333 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
334 <mml:mi mathvariant=
"italic">s0
</mml:mi>
336 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
337 <mml:mi mathvariant=
"italic">B
</mml:mi>
341 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
342 <mml:mi mathvariant=
"italic">s0
</mml:mi>
344 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
345 <mml:mi mathvariant=
"italic">A
</mml:mi>
350 </td></tr><tr><td align=
"left">
351 <code class=
"constant">GL_ONE_MINUS_SRC_COLOR
</code>
352 </td><td align=
"left">
353 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
356 <mml:mfenced open=
"(" close=
")">
363 <mml:mfenced open=
"(" close=
")">
365 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
366 <mml:mi mathvariant=
"italic">s0
</mml:mi>
368 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
369 <mml:mi mathvariant=
"italic">R
</mml:mi>
373 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
374 <mml:mi mathvariant=
"italic">s0
</mml:mi>
376 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
377 <mml:mi mathvariant=
"italic">G
</mml:mi>
381 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
382 <mml:mi mathvariant=
"italic">s0
</mml:mi>
384 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
385 <mml:mi mathvariant=
"italic">B
</mml:mi>
389 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
390 <mml:mi mathvariant=
"italic">s0
</mml:mi>
392 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
393 <mml:mi mathvariant=
"italic">A
</mml:mi>
399 </td></tr><tr><td align=
"left">
400 <code class=
"constant">GL_DST_COLOR
</code>
401 </td><td align=
"left">
402 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
404 <mml:mfenced open=
"(" close=
")">
406 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
407 <mml:mi mathvariant=
"italic">d
</mml:mi>
409 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
410 <mml:mi mathvariant=
"italic">R
</mml:mi>
414 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
415 <mml:mi mathvariant=
"italic">d
</mml:mi>
417 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
418 <mml:mi mathvariant=
"italic">G
</mml:mi>
422 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
423 <mml:mi mathvariant=
"italic">d
</mml:mi>
425 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
426 <mml:mi mathvariant=
"italic">B
</mml:mi>
430 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
431 <mml:mi mathvariant=
"italic">d
</mml:mi>
433 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
434 <mml:mi mathvariant=
"italic">A
</mml:mi>
439 </td></tr><tr><td align=
"left">
440 <code class=
"constant">GL_ONE_MINUS_DST_COLOR
</code>
441 </td><td align=
"left">
442 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
445 <mml:mfenced open=
"(" close=
")">
452 <mml:mfenced open=
"(" close=
")">
454 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
455 <mml:mi mathvariant=
"italic">d
</mml:mi>
457 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
458 <mml:mi mathvariant=
"italic">R
</mml:mi>
462 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
463 <mml:mi mathvariant=
"italic">d
</mml:mi>
465 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
466 <mml:mi mathvariant=
"italic">G
</mml:mi>
470 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
471 <mml:mi mathvariant=
"italic">d
</mml:mi>
473 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
474 <mml:mi mathvariant=
"italic">B
</mml:mi>
478 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
479 <mml:mi mathvariant=
"italic">d
</mml:mi>
481 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
482 <mml:mi mathvariant=
"italic">A
</mml:mi>
488 </td></tr><tr><td align=
"left">
489 <code class=
"constant">GL_SRC_ALPHA
</code>
490 </td><td align=
"left">
491 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
493 <mml:mfenced open=
"(" close=
")">
495 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
496 <mml:mi mathvariant=
"italic">s0
</mml:mi>
498 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
499 <mml:mi mathvariant=
"italic">A
</mml:mi>
503 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
504 <mml:mi mathvariant=
"italic">s0
</mml:mi>
506 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
507 <mml:mi mathvariant=
"italic">A
</mml:mi>
511 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
512 <mml:mi mathvariant=
"italic">s0
</mml:mi>
514 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
515 <mml:mi mathvariant=
"italic">A
</mml:mi>
519 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
520 <mml:mi mathvariant=
"italic">s0
</mml:mi>
522 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
523 <mml:mi mathvariant=
"italic">A
</mml:mi>
528 </td></tr><tr><td align=
"left">
529 <code class=
"constant">GL_ONE_MINUS_SRC_ALPHA
</code>
530 </td><td align=
"left">
531 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
534 <mml:mfenced open=
"(" close=
")">
541 <mml:mfenced open=
"(" close=
")">
543 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
544 <mml:mi mathvariant=
"italic">s0
</mml:mi>
546 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
547 <mml:mi mathvariant=
"italic">A
</mml:mi>
551 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
552 <mml:mi mathvariant=
"italic">s0
</mml:mi>
554 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
555 <mml:mi mathvariant=
"italic">A
</mml:mi>
559 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
560 <mml:mi mathvariant=
"italic">s0
</mml:mi>
562 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
563 <mml:mi mathvariant=
"italic">A
</mml:mi>
567 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
568 <mml:mi mathvariant=
"italic">s0
</mml:mi>
570 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
571 <mml:mi mathvariant=
"italic">A
</mml:mi>
577 </td></tr><tr><td align=
"left">
578 <code class=
"constant">GL_DST_ALPHA
</code>
579 </td><td align=
"left">
580 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
582 <mml:mfenced open=
"(" close=
")">
584 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
585 <mml:mi mathvariant=
"italic">d
</mml:mi>
587 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
588 <mml:mi mathvariant=
"italic">A
</mml:mi>
592 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
593 <mml:mi mathvariant=
"italic">d
</mml:mi>
595 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
596 <mml:mi mathvariant=
"italic">A
</mml:mi>
600 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
601 <mml:mi mathvariant=
"italic">d
</mml:mi>
603 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
604 <mml:mi mathvariant=
"italic">A
</mml:mi>
608 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
609 <mml:mi mathvariant=
"italic">d
</mml:mi>
611 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
612 <mml:mi mathvariant=
"italic">A
</mml:mi>
617 </td></tr><tr><td align=
"left">
618 <code class=
"constant">GL_ONE_MINUS_DST_ALPHA
</code>
619 </td><td align=
"left">
620 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
623 <mml:mfenced open=
"(" close=
")">
630 <mml:mfenced open=
"(" close=
")">
632 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
633 <mml:mi mathvariant=
"italic">d
</mml:mi>
635 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
636 <mml:mi mathvariant=
"italic">A
</mml:mi>
640 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
641 <mml:mi mathvariant=
"italic">d
</mml:mi>
643 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
644 <mml:mi mathvariant=
"italic">A
</mml:mi>
648 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
649 <mml:mi mathvariant=
"italic">d
</mml:mi>
651 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
652 <mml:mi mathvariant=
"italic">A
</mml:mi>
656 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
657 <mml:mi mathvariant=
"italic">d
</mml:mi>
659 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
660 <mml:mi mathvariant=
"italic">A
</mml:mi>
666 </td></tr><tr><td align=
"left">
667 <code class=
"constant">GL_CONSTANT_COLOR
</code>
668 </td><td align=
"left">
669 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
671 <mml:mfenced open=
"(" close=
")">
672 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
673 <mml:mi mathvariant=
"italic">c
</mml:mi>
675 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
676 <mml:mi mathvariant=
"italic">c
</mml:mi>
678 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
679 <mml:mi mathvariant=
"italic">c
</mml:mi>
681 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
682 <mml:mi mathvariant=
"italic">c
</mml:mi>
686 </td></tr><tr><td align=
"left">
687 <code class=
"constant">GL_ONE_MINUS_CONSTANT_COLOR
</code>
688 </td><td align=
"left">
689 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
692 <mml:mfenced open=
"(" close=
")">
699 <mml:mfenced open=
"(" close=
")">
700 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
701 <mml:mi mathvariant=
"italic">c
</mml:mi>
703 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
704 <mml:mi mathvariant=
"italic">c
</mml:mi>
706 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
707 <mml:mi mathvariant=
"italic">c
</mml:mi>
709 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
710 <mml:mi mathvariant=
"italic">c
</mml:mi>
715 </td></tr><tr><td align=
"left">
716 <code class=
"constant">GL_CONSTANT_ALPHA
</code>
717 </td><td align=
"left">
718 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
720 <mml:mfenced open=
"(" close=
")">
721 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
722 <mml:mi mathvariant=
"italic">c
</mml:mi>
724 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
725 <mml:mi mathvariant=
"italic">c
</mml:mi>
727 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
728 <mml:mi mathvariant=
"italic">c
</mml:mi>
730 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
731 <mml:mi mathvariant=
"italic">c
</mml:mi>
735 </td></tr><tr><td align=
"left">
736 <code class=
"constant">GL_ONE_MINUS_CONSTANT_ALPHA
</code>
737 </td><td align=
"left">
738 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
741 <mml:mfenced open=
"(" close=
")">
748 <mml:mfenced open=
"(" close=
")">
749 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
750 <mml:mi mathvariant=
"italic">c
</mml:mi>
752 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
753 <mml:mi mathvariant=
"italic">c
</mml:mi>
755 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
756 <mml:mi mathvariant=
"italic">c
</mml:mi>
758 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
759 <mml:mi mathvariant=
"italic">c
</mml:mi>
764 </td></tr><tr><td align=
"left">
765 <code class=
"constant">GL_SRC_ALPHA_SATURATE
</code>
766 </td><td align=
"left">
767 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
769 <mml:mfenced open=
"(" close=
")">
770 <mml:mi mathvariant=
"italic">i
</mml:mi>
771 <mml:mi mathvariant=
"italic">i
</mml:mi>
772 <mml:mi mathvariant=
"italic">i
</mml:mi>
776 </td></tr><tr><td align=
"left">
777 <code class=
"constant">GL_SRC1_COLOR
</code>
778 </td><td align=
"left">
779 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
781 <mml:mfenced open=
"(" close=
")">
783 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
784 <mml:mi mathvariant=
"italic">s1
</mml:mi>
786 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
787 <mml:mi mathvariant=
"italic">R
</mml:mi>
791 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
792 <mml:mi mathvariant=
"italic">s1
</mml:mi>
794 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
795 <mml:mi mathvariant=
"italic">G
</mml:mi>
799 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
800 <mml:mi mathvariant=
"italic">s1
</mml:mi>
802 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
803 <mml:mi mathvariant=
"italic">B
</mml:mi>
807 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
808 <mml:mi mathvariant=
"italic">s1
</mml:mi>
810 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
811 <mml:mi mathvariant=
"italic">A
</mml:mi>
816 </td></tr><tr><td align=
"left">
817 <code class=
"constant">GL_ONE_MINUS_SRC1_COLOR
</code>
818 </td><td align=
"left">
819 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
822 <mml:mfenced open=
"(" close=
")">
829 <mml:mfenced open=
"(" close=
")">
831 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
832 <mml:mi mathvariant=
"italic">s1
</mml:mi>
834 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
835 <mml:mi mathvariant=
"italic">R
</mml:mi>
839 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
840 <mml:mi mathvariant=
"italic">s1
</mml:mi>
842 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
843 <mml:mi mathvariant=
"italic">G
</mml:mi>
847 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
848 <mml:mi mathvariant=
"italic">s1
</mml:mi>
850 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
851 <mml:mi mathvariant=
"italic">B
</mml:mi>
855 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
856 <mml:mi mathvariant=
"italic">s1
</mml:mi>
858 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
859 <mml:mi mathvariant=
"italic">A
</mml:mi>
865 </td></tr><tr><td align=
"left">
866 <code class=
"constant">GL_SRC1_ALPHA
</code>
867 </td><td align=
"left">
868 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
870 <mml:mfenced open=
"(" close=
")">
872 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
873 <mml:mi mathvariant=
"italic">s1
</mml:mi>
875 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
876 <mml:mi mathvariant=
"italic">A
</mml:mi>
880 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
881 <mml:mi mathvariant=
"italic">s1
</mml:mi>
883 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
884 <mml:mi mathvariant=
"italic">A
</mml:mi>
888 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
889 <mml:mi mathvariant=
"italic">s1
</mml:mi>
891 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
892 <mml:mi mathvariant=
"italic">A
</mml:mi>
896 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
897 <mml:mi mathvariant=
"italic">s1
</mml:mi>
899 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
900 <mml:mi mathvariant=
"italic">A
</mml:mi>
905 </td></tr><tr><td align=
"left">
906 <code class=
"constant">GL_ONE_MINUS_SRC1_ALPHA
</code>
907 </td><td align=
"left">
908 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
911 <mml:mfenced open=
"(" close=
")">
918 <mml:mfenced open=
"(" close=
")">
920 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
921 <mml:mi mathvariant=
"italic">s1
</mml:mi>
923 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
924 <mml:mi mathvariant=
"italic">A
</mml:mi>
928 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
929 <mml:mi mathvariant=
"italic">s1
</mml:mi>
931 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
932 <mml:mi mathvariant=
"italic">A
</mml:mi>
936 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
937 <mml:mi mathvariant=
"italic">s1
</mml:mi>
939 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
940 <mml:mi mathvariant=
"italic">A
</mml:mi>
944 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
945 <mml:mi mathvariant=
"italic">s1
</mml:mi>
947 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
948 <mml:mi mathvariant=
"italic">A
</mml:mi>
954 </td></tr></tbody></table></div><p>
958 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
961 <mml:mi mathvariant=
"italic">i
</mml:mi>
965 <mml:mi mathvariant=
"italic">min
</mml:mi>
967 <mml:mfenced open=
"(" close=
")">
968 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
969 <mml:mi mathvariant=
"italic">s
</mml:mi>
972 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
973 <mml:mi mathvariant=
"italic">A
</mml:mi>
976 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
977 <mml:mi mathvariant=
"italic">d
</mml:mi>
982 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
983 <mml:mi mathvariant=
"italic">A
</mml:mi>
990 To determine the blended RGBA values of a pixel,
991 the system uses the following equations:
994 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
997 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
998 <mml:mi mathvariant=
"italic">d
</mml:mi>
1002 <mml:mi mathvariant=
"italic">min
</mml:mi>
1004 <mml:mfenced open=
"(" close=
")">
1005 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
1006 <mml:mi mathvariant=
"italic">R
</mml:mi>
1009 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
1010 <mml:mi mathvariant=
"italic">s
</mml:mi>
1013 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
1014 <mml:mi mathvariant=
"italic">R
</mml:mi>
1017 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
1018 <mml:mi mathvariant=
"italic">d
</mml:mi>
1021 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
1022 <mml:mi mathvariant=
"italic">R
</mml:mi>
1029 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
1032 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
1033 <mml:mi mathvariant=
"italic">d
</mml:mi>
1037 <mml:mi mathvariant=
"italic">min
</mml:mi>
1039 <mml:mfenced open=
"(" close=
")">
1040 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
1041 <mml:mi mathvariant=
"italic">G
</mml:mi>
1044 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
1045 <mml:mi mathvariant=
"italic">s
</mml:mi>
1048 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
1049 <mml:mi mathvariant=
"italic">G
</mml:mi>
1052 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
1053 <mml:mi mathvariant=
"italic">d
</mml:mi>
1056 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
1057 <mml:mi mathvariant=
"italic">G
</mml:mi>
1064 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
1067 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
1068 <mml:mi mathvariant=
"italic">d
</mml:mi>
1072 <mml:mi mathvariant=
"italic">min
</mml:mi>
1074 <mml:mfenced open=
"(" close=
")">
1075 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
1076 <mml:mi mathvariant=
"italic">B
</mml:mi>
1079 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
1080 <mml:mi mathvariant=
"italic">s
</mml:mi>
1083 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
1084 <mml:mi mathvariant=
"italic">B
</mml:mi>
1087 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
1088 <mml:mi mathvariant=
"italic">d
</mml:mi>
1091 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
1092 <mml:mi mathvariant=
"italic">B
</mml:mi>
1099 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
1102 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
1103 <mml:mi mathvariant=
"italic">d
</mml:mi>
1107 <mml:mi mathvariant=
"italic">min
</mml:mi>
1109 <mml:mfenced open=
"(" close=
")">
1110 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
1111 <mml:mi mathvariant=
"italic">A
</mml:mi>
1114 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
1115 <mml:mi mathvariant=
"italic">s
</mml:mi>
1118 <mml:msub><mml:mi mathvariant=
"italic">s
</mml:mi>
1119 <mml:mi mathvariant=
"italic">A
</mml:mi>
1122 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
1123 <mml:mi mathvariant=
"italic">d
</mml:mi>
1126 <mml:msub><mml:mi mathvariant=
"italic">d
</mml:mi>
1127 <mml:mi mathvariant=
"italic">A
</mml:mi>
1136 Despite the apparent precision of the above equations,
1137 blending arithmetic is not exactly specified,
1138 because blending operates with imprecise integer color values.
1140 a blend factor that should be equal to
1
1141 is guaranteed not to modify its multiplicand,
1142 and a blend factor equal to
0 reduces its multiplicand to
0.
1144 when
<em class=
"parameter"><code>sfactor
</code></em> is
<code class=
"constant">GL_SRC_ALPHA
</code>,
1145 <em class=
"parameter"><code>dfactor
</code></em> is
<code class=
"constant">GL_ONE_MINUS_SRC_ALPHA
</code>,
1147 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
1149 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
1150 <mml:mi mathvariant=
"italic">s
</mml:mi>
1154 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
1156 <mml:msub><mml:mi mathvariant=
"italic">k
</mml:mi>
1157 <mml:mi mathvariant=
"italic">A
</mml:mi>
1160 the equations reduce to simple replacement:
1163 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
1166 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
1167 <mml:mi mathvariant=
"italic">d
</mml:mi>
1170 <mml:msub><mml:mi mathvariant=
"italic">R
</mml:mi>
1171 <mml:mi mathvariant=
"italic">s
</mml:mi>
1175 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
1178 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
1179 <mml:mi mathvariant=
"italic">d
</mml:mi>
1182 <mml:msub><mml:mi mathvariant=
"italic">G
</mml:mi>
1183 <mml:mi mathvariant=
"italic">s
</mml:mi>
1187 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
1190 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
1191 <mml:mi mathvariant=
"italic">d
</mml:mi>
1194 <mml:msub><mml:mi mathvariant=
"italic">B
</mml:mi>
1195 <mml:mi mathvariant=
"italic">s
</mml:mi>
1199 <mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
1202 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
1203 <mml:mi mathvariant=
"italic">d
</mml:mi>
1206 <mml:msub><mml:mi mathvariant=
"italic">A
</mml:mi>
1207 <mml:mi mathvariant=
"italic">s
</mml:mi>
1213 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"examples"></a><h2>Examples
</h2><p>
1215 Transparency is best implemented using blend function
1216 (
<code class=
"constant">GL_SRC_ALPHA
</code>,
<code class=
"constant">GL_ONE_MINUS_SRC_ALPHA
</code>)
1217 with primitives sorted from farthest to nearest.
1218 Note that this transparency calculation does not require
1219 the presence of alpha bitplanes in the frame buffer.
1222 (
<code class=
"constant">GL_SRC_ALPHA
</code>,
<code class=
"constant">GL_ONE_MINUS_SRC_ALPHA
</code>)
1223 is also useful for rendering antialiased points and lines
1226 Polygon antialiasing is optimized using blend function
1227 (
<code class=
"constant">GL_SRC_ALPHA_SATURATE
</code>,
<code class=
"constant">GL_ONE
</code>)
1228 with polygons sorted from nearest to farthest.
1229 (See the
<a href=
"glEnable.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glEnable
</span></span></a>,
<a href=
"glDisable.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glDisable
</span></span></a> reference page and the
1230 <code class=
"constant">GL_POLYGON_SMOOTH
</code> argument for information on polygon antialiasing.)
1231 Destination alpha bitplanes,
1232 which must be present for this blend function to operate correctly,
1233 store the accumulated coverage.
1234 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"notes"></a><h2>Notes
</h2><p>
1235 Incoming (source) alpha is correctly thought of as a material opacity,
1237 (
<mml:math xmlns:
mml=
"http://www.w3.org/1998/Math/MathML" overflow=
"scroll">
1239 <mml:msub><mml:mi mathvariant=
"italic">K
</mml:mi>
1240 <mml:mi mathvariant=
"italic">A
</mml:mi>
1243 representing complete opacity,
1244 to
0.0 (
0), representing complete
1247 When more than one color buffer is enabled for drawing,
1248 the GL performs blending separately for each enabled buffer,
1249 using the contents of that buffer for destination color.
1250 (See
<a href=
"glDrawBuffer.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glDrawBuffer
</span></span></a>.)
1252 When dual source blending is enabled (i.e., one of the blend factors requiring
1253 the second color input is used), the maximum number of enabled draw buffers
1254 is given by
<code class=
"constant">GL_MAX_DUAL_SOURCE_DRAW_BUFFERS
</code>, which may
1255 be lower than
<code class=
"constant">GL_MAX_DRAW_BUFFERS
</code>.
1256 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"errors"></a><h2>Errors
</h2><p>
1257 <code class=
"constant">GL_INVALID_ENUM
</code> is generated if either
<em class=
"parameter"><code>sfactor
</code></em>
1258 or
<em class=
"parameter"><code>dfactor
</code></em> is not an accepted value.
1259 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"associatedgets"></a><h2>Associated Gets
</h2><p>
1260 <a href=
"glGet.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGet
</span></span></a> with argument
<code class=
"constant">GL_BLEND_SRC_RGB
</code>
1262 <a href=
"glGet.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGet
</span></span></a> with argument
<code class=
"constant">GL_BLEND_SRC_ALPHA
</code>
1264 <a href=
"glGet.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGet
</span></span></a> with argument
<code class=
"constant">GL_BLEND_DST_RGB
</code>
1266 <a href=
"glGet.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGet
</span></span></a> with argument
<code class=
"constant">GL_BLEND_DST_ALPHA
</code>
1268 <a href=
"glIsEnabled.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glIsEnabled
</span></span></a> with argument
<code class=
"constant">GL_BLEND
</code>
1270 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"seealso"></a><h2>See Also
</h2><p>
1271 <a href=
"glBlendColor.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glBlendColor
</span></span></a>,
1272 <a href=
"glBlendEquation.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glBlendEquation
</span></span></a>,
1273 <a href=
"glBlendFuncSeparate.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glBlendFuncSeparate
</span></span></a>,
1274 <a href=
"glClear.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glClear
</span></span></a>,
1275 <a href=
"glDrawBuffer.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glDrawBuffer
</span></span></a>,
1276 <a href=
"glEnable.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glEnable
</span></span></a>,
1277 <a href=
"glLogicOp.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glLogicOp
</span></span></a>,
1278 <a href=
"glStencilFunc.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glStencilFunc
</span></span></a>
1279 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"Copyright"></a><h2>Copyright
</h2><p>
1280 Copyright
<span class=
"trademark"></span>©
1991-
2006
1281 Silicon Graphics, Inc. This document is licensed under the SGI
1282 Free Software B License. For details, see
1283 <a href=
"http://oss.sgi.com/projects/FreeB/" target=
"_top">http://oss.sgi.com/projects/FreeB/
</a>.
1284 </p></div></div></body></html>