rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man2 / xhtml / glBlendFuncSeparate.xml
CommitLineData
7faf1d71
AW
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
2<!-- saved from url=(0013)about:internet -->
3<?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" /><title>glBlendFuncSeparate</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="glBlendFuncSeparate"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glBlendFuncSeparate — specify pixel arithmetic for RGB and alpha components separately</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">glBlendFuncSeparate</b>(</code></td><td>GLenum  </td><td><var class="pdparam">srcRGB</var>, </td></tr><tr><td> </td><td>GLenum  </td><td><var class="pdparam">dstRGB</var>, </td></tr><tr><td> </td><td>GLenum  </td><td><var class="pdparam">srcAlpha</var>, </td></tr><tr><td> </td><td>GLenum  </td><td><var class="pdparam">dstAlpha</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>srcRGB</code></em></span></dt><dd><p>
4 Specifies how the red, green, and blue blending factors are computed.
5 The following symbolic constants are accepted:
6 <code class="constant">GL_ZERO</code>,
7 <code class="constant">GL_ONE</code>,
8 <code class="constant">GL_SRC_COLOR</code>,
9 <code class="constant">GL_ONE_MINUS_SRC_COLOR</code>,
10 <code class="constant">GL_DST_COLOR</code>,
11 <code class="constant">GL_ONE_MINUS_DST_COLOR</code>,
12 <code class="constant">GL_SRC_ALPHA</code>,
13 <code class="constant">GL_ONE_MINUS_SRC_ALPHA</code>,
14 <code class="constant">GL_DST_ALPHA</code>,
15 <code class="constant">GL_ONE_MINUS_DST_ALPHA</code>,
16 <code class="constant">GL_CONSTANT_COLOR</code>,
17 <code class="constant">GL_ONE_MINUS_CONSTANT_COLOR</code>,
18 <code class="constant">GL_CONSTANT_ALPHA</code>,
19 <code class="constant">GL_ONE_MINUS_CONSTANT_ALPHA</code>, and
20 <code class="constant">GL_SRC_ALPHA_SATURATE</code>.
21 The initial value is <code class="constant">GL_ONE</code>.
22 </p></dd><dt><span class="term"><em class="parameter"><code>dstRGB</code></em></span></dt><dd><p>
23 Specifies how the red, green, and blue destination blending factors are
24 computed. The following symbolic constants are accepted:
25 <code class="constant">GL_ZERO</code>,
26 <code class="constant">GL_ONE</code>,
27 <code class="constant">GL_SRC_COLOR</code>,
28 <code class="constant">GL_ONE_MINUS_SRC_COLOR</code>,
29 <code class="constant">GL_DST_COLOR</code>,
30 <code class="constant">GL_ONE_MINUS_DST_COLOR</code>,
31 <code class="constant">GL_SRC_ALPHA</code>,
32 <code class="constant">GL_ONE_MINUS_SRC_ALPHA</code>,
33 <code class="constant">GL_DST_ALPHA</code>,
34 <code class="constant">GL_ONE_MINUS_DST_ALPHA</code>.
35 <code class="constant">GL_CONSTANT_COLOR</code>,
36 <code class="constant">GL_ONE_MINUS_CONSTANT_COLOR</code>,
37 <code class="constant">GL_CONSTANT_ALPHA</code>, and
38 <code class="constant">GL_ONE_MINUS_CONSTANT_ALPHA</code>.
39 The initial value is <code class="constant">GL_ZERO</code>.
40 </p></dd><dt><span class="term"><em class="parameter"><code>srcAlpha</code></em></span></dt><dd><p>
41 Specified how the alpha source blending factor is computed. The same
42 symbolic constants are accepted as for <em class="parameter"><code>srcRGB</code></em>.
43 The initial value is <code class="constant">GL_ONE</code>.
44 </p></dd><dt><span class="term"><em class="parameter"><code>dstAlpha</code></em></span></dt><dd><p>
45 Specified how the alpha destination blending factor is computed. The same
46 symbolic constants are accepted as for <em class="parameter"><code>dstRGB</code></em>.
47 The initial value is <code class="constant">GL_ZERO</code>.
48 </p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p>
49 In RGBA mode, pixels can be drawn using a function that blends
50 the incoming (source) RGBA values with the RGBA values
51 that are already in the frame buffer (the destination values).
52 Blending is initially disabled.
53 Use <a class="citerefentry" href="glEnable.xml"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a> and <a class="citerefentry" href="glDisable.xml"><span class="citerefentry"><span class="refentrytitle">glDisable</span></span></a> with argument <code class="constant">GL_BLEND</code>
54 to enable and disable blending.
55 </p><p>
56 <code class="function">glBlendFuncSeparate</code> defines the operation of blending when it is enabled.
57 <em class="parameter"><code>srcRGB</code></em> specifies which method is used to scale the
58 source RGB-color components.
59 <em class="parameter"><code>dstRGB</code></em> specifies which method is used to scale the
60 destination RGB-color components.
61 Likewise, <em class="parameter"><code>srcAlpha</code></em> specifies which method is used to scale the source alpha
62 color component, and <em class="parameter"><code>dstAlpha</code></em> specifies which method is used to scale the
63 destination alpha component.
64 The possible methods are described in the following table.
65 Each method defines four scale factors,
66 one each for red, green, blue, and alpha.
67 </p><p>
68 In the table and in subsequent equations, source and destination
69 color components are referred to as
70 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
71
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>
87 and
88 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
89
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>.
105 The color specified by <a class="citerefentry" href="glBlendColor.xml"><span class="citerefentry"><span class="refentrytitle">glBlendColor</span></span></a> is referred to as
106 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
107
108 <mml:mfenced open="(" close=")">
109 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
110 <mml:mi mathvariant="italic">c</mml:mi>
111 </mml:msub>
112 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
113 <mml:mi mathvariant="italic">c</mml:mi>
114 </mml:msub>
115 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
116 <mml:mi mathvariant="italic">c</mml:mi>
117 </mml:msub>
118 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
119 <mml:mi mathvariant="italic">c</mml:mi>
120 </mml:msub>
121 </mml:mfenced>
122 </mml:math>.
123 They are understood to have integer values between 0 and
124 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
125
126 <mml:mfenced open="(" close=")">
127 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
128 <mml:mi mathvariant="italic">R</mml:mi>
129 </mml:msub>
130 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
131 <mml:mi mathvariant="italic">G</mml:mi>
132 </mml:msub>
133 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
134 <mml:mi mathvariant="italic">B</mml:mi>
135 </mml:msub>
136 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
137 <mml:mi mathvariant="italic">A</mml:mi>
138 </mml:msub>
139 </mml:mfenced>
140 </mml:math>,
141 where
142 </p><p>
143 </p><p>
144 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
145
146 <mml:mrow>
147 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
148 <mml:mi mathvariant="italic">c</mml:mi>
149 </mml:msub>
150 <mml:mo>=</mml:mo>
151 <mml:mrow>
152 <mml:msup><mml:mn>2</mml:mn>
153 <mml:mfenced open="" close="">
154 <mml:msub><mml:mi mathvariant="italic">m</mml:mi>
155 <mml:mi mathvariant="italic">c</mml:mi>
156 </mml:msub>
157 </mml:mfenced>
158 </mml:msup>
159 <mml:mo>-</mml:mo>
160 <mml:mn>1</mml:mn>
161 </mml:mrow>
162 </mml:mrow>
163 </mml:math>
164 </p><p>
165 </p><p>
166 and
167 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
168
169 <mml:mfenced open="(" close=")">
170 <mml:msub><mml:mi mathvariant="italic">m</mml:mi>
171 <mml:mi mathvariant="italic">R</mml:mi>
172 </mml:msub>
173 <mml:msub><mml:mi mathvariant="italic">m</mml:mi>
174 <mml:mi mathvariant="italic">G</mml:mi>
175 </mml:msub>
176 <mml:msub><mml:mi mathvariant="italic">m</mml:mi>
177 <mml:mi mathvariant="italic">B</mml:mi>
178 </mml:msub>
179 <mml:msub><mml:mi mathvariant="italic">m</mml:mi>
180 <mml:mi mathvariant="italic">A</mml:mi>
181 </mml:msub>
182 </mml:mfenced>
183 </mml:math>
184 is the number of red,
185 green,
186 blue,
187 and alpha bitplanes.
188 </p><p>
189 Source and destination scale factors are referred to as
190 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
191
192 <mml:mfenced open="(" close=")">
193 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
194 <mml:mi mathvariant="italic">R</mml:mi>
195 </mml:msub>
196 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
197 <mml:mi mathvariant="italic">G</mml:mi>
198 </mml:msub>
199 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
200 <mml:mi mathvariant="italic">B</mml:mi>
201 </mml:msub>
202 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
203 <mml:mi mathvariant="italic">A</mml:mi>
204 </mml:msub>
205 </mml:mfenced>
206 </mml:math>
207 and
208 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
209
210 <mml:mfenced open="(" close=")">
211 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
212 <mml:mi mathvariant="italic">R</mml:mi>
213 </mml:msub>
214 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
215 <mml:mi mathvariant="italic">G</mml:mi>
216 </mml:msub>
217 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
218 <mml:mi mathvariant="italic">B</mml:mi>
219 </mml:msub>
220 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
221 <mml:mi mathvariant="italic">A</mml:mi>
222 </mml:msub>
223 </mml:mfenced>
224 </mml:math>.
225 All scale factors have range
226 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
227
228 <mml:mfenced open="[" close="]">
229 <mml:mn>0</mml:mn>
230 <mml:mn>1</mml:mn>
231 </mml:mfenced>
232 </mml:math>.
233 </p><p>
234 </p><div class="informaltable"><table border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left"><span class="bold"><strong>
235 Parameter
236 </strong></span></th><th align="left"><span class="bold"><strong>
237 RGB Factor
238 </strong></span></th><th align="left"><span class="bold"><strong>
239 Alpha Factor
240 </strong></span></th></tr></thead><tbody><tr><td align="left">
241 <code class="constant">GL_ZERO</code>
242 </td><td align="left">
243 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
244
245 <mml:mfenced open="(" close=")">
246 <mml:mn>0</mml:mn>
247 <mml:mn>0</mml:mn>
248 <mml:mn>0</mml:mn>
249 </mml:mfenced>
250 </mml:math>
251 </td><td align="left">
252 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
253
254 <mml:mn>0</mml:mn>
255 </mml:math>
256 </td></tr><tr><td align="left">
257 <code class="constant">GL_ONE</code>
258 </td><td align="left">
259 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
260
261 <mml:mfenced open="(" close=")">
262 <mml:mn>1</mml:mn>
263 <mml:mn>1</mml:mn>
264 <mml:mn>1</mml:mn>
265 </mml:mfenced>
266 </mml:math>
267 </td><td align="left">
268 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
269
270 <mml:mn>1</mml:mn>
271 </mml:math>
272 </td></tr><tr><td align="left">
273 <code class="constant">GL_SRC_COLOR</code>
274 </td><td align="left">
275 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
276
277 <mml:mfenced open="(" close=")">
278 <mml:mfrac>
279 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
280 <mml:mi mathvariant="italic">s</mml:mi>
281 </mml:msub>
282 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
283 <mml:mi mathvariant="italic">R</mml:mi>
284 </mml:msub>
285 </mml:mfrac>
286 <mml:mfrac>
287 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
288 <mml:mi mathvariant="italic">s</mml:mi>
289 </mml:msub>
290 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
291 <mml:mi mathvariant="italic">G</mml:mi>
292 </mml:msub>
293 </mml:mfrac>
294 <mml:mfrac>
295 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
296 <mml:mi mathvariant="italic">s</mml:mi>
297 </mml:msub>
298 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
299 <mml:mi mathvariant="italic">B</mml:mi>
300 </mml:msub>
301 </mml:mfrac>
302 </mml:mfenced>
303 </mml:math>
304 </td><td align="left">
305 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
306
307 <mml:mfrac>
308 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
309 <mml:mi mathvariant="italic">s</mml:mi>
310 </mml:msub>
311 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
312 <mml:mi mathvariant="italic">A</mml:mi>
313 </mml:msub>
314 </mml:mfrac>
315 </mml:math>
316 </td></tr><tr><td align="left">
317 <code class="constant">GL_ONE_MINUS_SRC_COLOR</code>
318 </td><td align="left">
319 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
320
321 <mml:mrow>
322 <mml:mfenced open="(" close=")">
323 <mml:mn>1</mml:mn>
324 <mml:mn>1</mml:mn>
325 <mml:mn>1</mml:mn>
326 <mml:mn>1</mml:mn>
327 </mml:mfenced>
328 <mml:mo>-</mml:mo>
329 <mml:mfenced open="(" close=")">
330 <mml:mfrac>
331 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
332 <mml:mi mathvariant="italic">s</mml:mi>
333 </mml:msub>
334 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
335 <mml:mi mathvariant="italic">R</mml:mi>
336 </mml:msub>
337 </mml:mfrac>
338 <mml:mfrac>
339 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
340 <mml:mi mathvariant="italic">s</mml:mi>
341 </mml:msub>
342 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
343 <mml:mi mathvariant="italic">G</mml:mi>
344 </mml:msub>
345 </mml:mfrac>
346 <mml:mfrac>
347 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
348 <mml:mi mathvariant="italic">s</mml:mi>
349 </mml:msub>
350 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
351 <mml:mi mathvariant="italic">B</mml:mi>
352 </mml:msub>
353 </mml:mfrac>
354 </mml:mfenced>
355 </mml:mrow>
356 </mml:math>
357 </td><td align="left">
358 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
359
360 <mml:mrow>
361 <mml:mn>1</mml:mn>
362 <mml:mo>-</mml:mo>
363 <mml:mfrac>
364 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
365 <mml:mi mathvariant="italic">s</mml:mi>
366 </mml:msub>
367 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
368 <mml:mi mathvariant="italic">A</mml:mi>
369 </mml:msub>
370 </mml:mfrac>
371 </mml:mrow>
372 </mml:math>
373 </td></tr><tr><td align="left">
374 <code class="constant">GL_DST_COLOR</code>
375 </td><td align="left">
376 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
377
378 <mml:mfenced open="(" close=")">
379 <mml:mfrac>
380 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
381 <mml:mi mathvariant="italic">d</mml:mi>
382 </mml:msub>
383 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
384 <mml:mi mathvariant="italic">R</mml:mi>
385 </mml:msub>
386 </mml:mfrac>
387 <mml:mfrac>
388 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
389 <mml:mi mathvariant="italic">d</mml:mi>
390 </mml:msub>
391 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
392 <mml:mi mathvariant="italic">G</mml:mi>
393 </mml:msub>
394 </mml:mfrac>
395 <mml:mfrac>
396 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
397 <mml:mi mathvariant="italic">d</mml:mi>
398 </mml:msub>
399 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
400 <mml:mi mathvariant="italic">B</mml:mi>
401 </mml:msub>
402 </mml:mfrac>
403 </mml:mfenced>
404 </mml:math>
405 </td><td align="left">
406 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
407
408 <mml:mfrac>
409 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
410 <mml:mi mathvariant="italic">d</mml:mi>
411 </mml:msub>
412 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
413 <mml:mi mathvariant="italic">A</mml:mi>
414 </mml:msub>
415 </mml:mfrac>
416 </mml:math>
417 </td></tr><tr><td align="left">
418 <code class="constant">GL_ONE_MINUS_DST_COLOR</code>
419 </td><td align="left">
420 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
421
422 <mml:mrow>
423 <mml:mfenced open="(" close=")">
424 <mml:mn>1</mml:mn>
425 <mml:mn>1</mml:mn>
426 <mml:mn>1</mml:mn>
427 </mml:mfenced>
428 <mml:mo>-</mml:mo>
429 <mml:mfenced open="(" close=")">
430 <mml:mfrac>
431 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
432 <mml:mi mathvariant="italic">d</mml:mi>
433 </mml:msub>
434 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
435 <mml:mi mathvariant="italic">R</mml:mi>
436 </mml:msub>
437 </mml:mfrac>
438 <mml:mfrac>
439 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
440 <mml:mi mathvariant="italic">d</mml:mi>
441 </mml:msub>
442 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
443 <mml:mi mathvariant="italic">G</mml:mi>
444 </mml:msub>
445 </mml:mfrac>
446 <mml:mfrac>
447 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
448 <mml:mi mathvariant="italic">d</mml:mi>
449 </mml:msub>
450 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
451 <mml:mi mathvariant="italic">B</mml:mi>
452 </mml:msub>
453 </mml:mfrac>
454 </mml:mfenced>
455 </mml:mrow>
456 </mml:math>
457 </td><td align="left">
458 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
459
460 <mml:mrow>
461 <mml:mn>1</mml:mn>
462 <mml:mo>-</mml:mo>
463 <mml:mfrac>
464 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
465 <mml:mi mathvariant="italic">d</mml:mi>
466 </mml:msub>
467 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
468 <mml:mi mathvariant="italic">A</mml:mi>
469 </mml:msub>
470 </mml:mfrac>
471 </mml:mrow>
472 </mml:math>
473 </td></tr><tr><td align="left">
474 <code class="constant">GL_SRC_ALPHA</code>
475 </td><td align="left">
476 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
477
478 <mml:mfenced open="(" close=")">
479 <mml:mfrac>
480 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
481 <mml:mi mathvariant="italic">s</mml:mi>
482 </mml:msub>
483 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
484 <mml:mi mathvariant="italic">A</mml:mi>
485 </mml:msub>
486 </mml:mfrac>
487 <mml:mfrac>
488 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
489 <mml:mi mathvariant="italic">s</mml:mi>
490 </mml:msub>
491 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
492 <mml:mi mathvariant="italic">A</mml:mi>
493 </mml:msub>
494 </mml:mfrac>
495 <mml:mfrac>
496 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
497 <mml:mi mathvariant="italic">s</mml:mi>
498 </mml:msub>
499 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
500 <mml:mi mathvariant="italic">A</mml:mi>
501 </mml:msub>
502 </mml:mfrac>
503 </mml:mfenced>
504 </mml:math>
505 </td><td align="left">
506 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
507
508 <mml:mfrac>
509 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
510 <mml:mi mathvariant="italic">s</mml:mi>
511 </mml:msub>
512 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
513 <mml:mi mathvariant="italic">A</mml:mi>
514 </mml:msub>
515 </mml:mfrac>
516 </mml:math>
517 </td></tr><tr><td align="left">
518 <code class="constant">GL_ONE_MINUS_SRC_ALPHA</code>
519 </td><td align="left">
520 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
521
522 <mml:mrow>
523 <mml:mfenced open="(" close=")">
524 <mml:mn>1</mml:mn>
525 <mml:mn>1</mml:mn>
526 <mml:mn>1</mml:mn>
527 </mml:mfenced>
528 <mml:mo>-</mml:mo>
529 <mml:mfenced open="(" close=")">
530 <mml:mfrac>
531 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
532 <mml:mi mathvariant="italic">s</mml:mi>
533 </mml:msub>
534 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
535 <mml:mi mathvariant="italic">A</mml:mi>
536 </mml:msub>
537 </mml:mfrac>
538 <mml:mfrac>
539 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
540 <mml:mi mathvariant="italic">s</mml:mi>
541 </mml:msub>
542 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
543 <mml:mi mathvariant="italic">A</mml:mi>
544 </mml:msub>
545 </mml:mfrac>
546 <mml:mfrac>
547 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
548 <mml:mi mathvariant="italic">s</mml:mi>
549 </mml:msub>
550 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
551 <mml:mi mathvariant="italic">A</mml:mi>
552 </mml:msub>
553 </mml:mfrac>
554 </mml:mfenced>
555 </mml:mrow>
556 </mml:math>
557 </td><td align="left">
558 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
559
560 <mml:mrow>
561 <mml:mn>1</mml:mn>
562 <mml:mo>-</mml:mo>
563 <mml:mfrac>
564 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
565 <mml:mi mathvariant="italic">s</mml:mi>
566 </mml:msub>
567 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
568 <mml:mi mathvariant="italic">A</mml:mi>
569 </mml:msub>
570 </mml:mfrac>
571 </mml:mrow>
572 </mml:math>
573 </td></tr><tr><td align="left">
574 <code class="constant">GL_DST_ALPHA</code>
575 </td><td align="left">
576 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
577
578 <mml:mfenced open="(" close=")">
579 <mml:mfrac>
580 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
581 <mml:mi mathvariant="italic">d</mml:mi>
582 </mml:msub>
583 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
584 <mml:mi mathvariant="italic">A</mml:mi>
585 </mml:msub>
586 </mml:mfrac>
587 <mml:mfrac>
588 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
589 <mml:mi mathvariant="italic">d</mml:mi>
590 </mml:msub>
591 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
592 <mml:mi mathvariant="italic">A</mml:mi>
593 </mml:msub>
594 </mml:mfrac>
595 <mml:mfrac>
596 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
597 <mml:mi mathvariant="italic">d</mml:mi>
598 </mml:msub>
599 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
600 <mml:mi mathvariant="italic">A</mml:mi>
601 </mml:msub>
602 </mml:mfrac>
603 </mml:mfenced>
604 </mml:math>
605 </td><td align="left">
606 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
607
608 <mml:mfrac>
609 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
610 <mml:mi mathvariant="italic">d</mml:mi>
611 </mml:msub>
612 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
613 <mml:mi mathvariant="italic">A</mml:mi>
614 </mml:msub>
615 </mml:mfrac>
616 </mml:math>
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">
621
622 <mml:mrow>
623 <mml:mfenced open="(" close=")">
624 <mml:mn>1</mml:mn>
625 <mml:mn>1</mml:mn>
626 <mml:mn>1</mml:mn>
627 </mml:mfenced>
628 <mml:mo>-</mml:mo>
629 <mml:mfenced open="(" close=")">
630 <mml:mfrac>
631 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
632 <mml:mi mathvariant="italic">d</mml:mi>
633 </mml:msub>
634 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
635 <mml:mi mathvariant="italic">A</mml:mi>
636 </mml:msub>
637 </mml:mfrac>
638 <mml:mfrac>
639 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
640 <mml:mi mathvariant="italic">d</mml:mi>
641 </mml:msub>
642 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
643 <mml:mi mathvariant="italic">A</mml:mi>
644 </mml:msub>
645 </mml:mfrac>
646 <mml:mfrac>
647 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
648 <mml:mi mathvariant="italic">d</mml:mi>
649 </mml:msub>
650 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
651 <mml:mi mathvariant="italic">A</mml:mi>
652 </mml:msub>
653 </mml:mfrac>
654 </mml:mfenced>
655 </mml:mrow>
656 </mml:math>
657 </td><td align="left">
658 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
659
660 <mml:mrow>
661 <mml:mn>1</mml:mn>
662 <mml:mo>-</mml:mo>
663 <mml:mfrac>
664 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
665 <mml:mi mathvariant="italic">d</mml:mi>
666 </mml:msub>
667 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
668 <mml:mi mathvariant="italic">A</mml:mi>
669 </mml:msub>
670 </mml:mfrac>
671 </mml:mrow>
672 </mml:math>
673 </td></tr><tr><td align="left">
674 <code class="constant">GL_CONSTANT_COLOR</code>
675 </td><td align="left">
676 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
677
678 <mml:mfenced open="(" close=")">
679 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
680 <mml:mi mathvariant="italic">c</mml:mi>
681 </mml:msub>
682 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
683 <mml:mi mathvariant="italic">c</mml:mi>
684 </mml:msub>
685 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
686 <mml:mi mathvariant="italic">c</mml:mi>
687 </mml:msub>
688 </mml:mfenced>
689 </mml:math>
690 </td><td align="left">
691 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
692
693 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
694 <mml:mi mathvariant="italic">c</mml:mi>
695 </mml:msub>
696 </mml:math>
697 </td></tr><tr><td align="left">
698 <code class="constant">GL_ONE_MINUS_CONSTANT_COLOR</code>
699 </td><td align="left">
700 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
701
702 <mml:mrow>
703 <mml:mfenced open="(" close=")">
704 <mml:mn>1</mml:mn>
705 <mml:mn>1</mml:mn>
706 <mml:mn>1</mml:mn>
707 </mml:mfenced>
708 <mml:mo>-</mml:mo>
709 <mml:mfenced open="(" close=")">
710 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
711 <mml:mi mathvariant="italic">c</mml:mi>
712 </mml:msub>
713 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
714 <mml:mi mathvariant="italic">c</mml:mi>
715 </mml:msub>
716 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
717 <mml:mi mathvariant="italic">c</mml:mi>
718 </mml:msub>
719 </mml:mfenced>
720 </mml:mrow>
721 </mml:math>
722 </td><td align="left">
723 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
724
725 <mml:mrow>
726 <mml:mn>1</mml:mn>
727 <mml:mo>-</mml:mo>
728 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
729 <mml:mi mathvariant="italic">c</mml:mi>
730 </mml:msub>
731 </mml:mrow>
732 </mml:math>
733 </td></tr><tr><td align="left">
734 <code class="constant">GL_CONSTANT_ALPHA</code>
735 </td><td align="left">
736 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
737
738 <mml:mfenced open="(" close=")">
739 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
740 <mml:mi mathvariant="italic">c</mml:mi>
741 </mml:msub>
742 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
743 <mml:mi mathvariant="italic">c</mml:mi>
744 </mml:msub>
745 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
746 <mml:mi mathvariant="italic">c</mml:mi>
747 </mml:msub>
748 </mml:mfenced>
749 </mml:math>
750 </td><td align="left">
751 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
752
753 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
754 <mml:mi mathvariant="italic">c</mml:mi>
755 </mml:msub>
756 </mml:math>
757 </td></tr><tr><td align="left">
758 <code class="constant">GL_ONE_MINUS_CONSTANT_ALPHA</code>
759 </td><td align="left">
760 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
761
762 <mml:mrow>
763 <mml:mfenced open="(" close=")">
764 <mml:mn>1</mml:mn>
765 <mml:mn>1</mml:mn>
766 <mml:mn>1</mml:mn>
767 </mml:mfenced>
768 <mml:mo>-</mml:mo>
769 <mml:mfenced open="(" close=")">
770 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
771 <mml:mi mathvariant="italic">c</mml:mi>
772 </mml:msub>
773 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
774 <mml:mi mathvariant="italic">c</mml:mi>
775 </mml:msub>
776 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
777 <mml:mi mathvariant="italic">c</mml:mi>
778 </mml:msub>
779 </mml:mfenced>
780 </mml:mrow>
781 </mml:math>
782 </td><td align="left">
783 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
784
785 <mml:mrow>
786 <mml:mn>1</mml:mn>
787 <mml:mo>-</mml:mo>
788 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
789 <mml:mi mathvariant="italic">c</mml:mi>
790 </mml:msub>
791 </mml:mrow>
792 </mml:math>
793 </td></tr><tr><td align="left">
794 <code class="constant">GL_SRC_ALPHA_SATURATE</code>
795 </td><td align="left">
796 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
797
798 <mml:mfenced open="(" close=")">
799 <mml:mi mathvariant="italic">i</mml:mi>
800 <mml:mi mathvariant="italic">i</mml:mi>
801 <mml:mi mathvariant="italic">i</mml:mi>
802 </mml:mfenced>
803 </mml:math>
804 </td><td align="left">
805 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
806
807 <mml:mn>1</mml:mn>
808 </mml:math>
809 </td></tr></tbody></table></div><p>
810 In the table,
811 </p><p>
812 </p><p>
813 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
814
815 <mml:mrow>
816 <mml:mi mathvariant="italic">i</mml:mi>
817 <mml:mo>=</mml:mo>
818 <mml:mrow>
819 <mml:mi mathvariant="italic">min</mml:mi>
820 <mml:mo>⁡</mml:mo>
821 <mml:mfenced open="(" close=")">
822 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
823 <mml:mi mathvariant="italic">s</mml:mi>
824 </mml:msub>
825 <mml:mrow>
826 <mml:mn>1</mml:mn>
827 <mml:mo>-</mml:mo>
828 <mml:mfenced open="" close="">
829 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
830 <mml:mi mathvariant="italic">d</mml:mi>
831 </mml:msub>
832 </mml:mfenced>
833 </mml:mrow>
834 </mml:mfenced>
835 </mml:mrow>
836 </mml:mrow>
837 </mml:math>
838 </p><p>
839 </p><p>
840 To determine the blended RGBA values of a pixel when drawing in RGBA mode,
841 the system uses the following equations:
842 </p><p>
843 </p><p>
844 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
845
846 <mml:mrow>
847 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
848 <mml:mi mathvariant="italic">d</mml:mi>
849 </mml:msub>
850 <mml:mo>=</mml:mo>
851 <mml:mrow>
852 <mml:mi mathvariant="italic">min</mml:mi>
853 <mml:mo>⁡</mml:mo>
854 <mml:mfenced open="(" close=")">
855 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
856 <mml:mi mathvariant="italic">R</mml:mi>
857 </mml:msub>
858 <mml:mrow>
859 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
860 <mml:mi mathvariant="italic">s</mml:mi>
861 </mml:msub>
862 <mml:mo>⁢</mml:mo>
863 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
864 <mml:mi mathvariant="italic">R</mml:mi>
865 </mml:msub>
866 <mml:mo>+</mml:mo>
867 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
868 <mml:mi mathvariant="italic">d</mml:mi>
869 </mml:msub>
870 <mml:mo>⁢</mml:mo>
871 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
872 <mml:mi mathvariant="italic">R</mml:mi>
873 </mml:msub>
874 </mml:mrow>
875 </mml:mfenced>
876 </mml:mrow>
877 </mml:mrow>
878 </mml:math>
879 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
880
881 <mml:mrow>
882 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
883 <mml:mi mathvariant="italic">d</mml:mi>
884 </mml:msub>
885 <mml:mo>=</mml:mo>
886 <mml:mrow>
887 <mml:mi mathvariant="italic">min</mml:mi>
888 <mml:mo>⁡</mml:mo>
889 <mml:mfenced open="(" close=")">
890 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
891 <mml:mi mathvariant="italic">G</mml:mi>
892 </mml:msub>
893 <mml:mrow>
894 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
895 <mml:mi mathvariant="italic">s</mml:mi>
896 </mml:msub>
897 <mml:mo>⁢</mml:mo>
898 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
899 <mml:mi mathvariant="italic">G</mml:mi>
900 </mml:msub>
901 <mml:mo>+</mml:mo>
902 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
903 <mml:mi mathvariant="italic">d</mml:mi>
904 </mml:msub>
905 <mml:mo>⁢</mml:mo>
906 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
907 <mml:mi mathvariant="italic">G</mml:mi>
908 </mml:msub>
909 </mml:mrow>
910 </mml:mfenced>
911 </mml:mrow>
912 </mml:mrow>
913 </mml:math>
914 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
915
916 <mml:mrow>
917 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
918 <mml:mi mathvariant="italic">d</mml:mi>
919 </mml:msub>
920 <mml:mo>=</mml:mo>
921 <mml:mrow>
922 <mml:mi mathvariant="italic">min</mml:mi>
923 <mml:mo>⁡</mml:mo>
924 <mml:mfenced open="(" close=")">
925 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
926 <mml:mi mathvariant="italic">B</mml:mi>
927 </mml:msub>
928 <mml:mrow>
929 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
930 <mml:mi mathvariant="italic">s</mml:mi>
931 </mml:msub>
932 <mml:mo>⁢</mml:mo>
933 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
934 <mml:mi mathvariant="italic">B</mml:mi>
935 </mml:msub>
936 <mml:mo>+</mml:mo>
937 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
938 <mml:mi mathvariant="italic">d</mml:mi>
939 </mml:msub>
940 <mml:mo>⁢</mml:mo>
941 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
942 <mml:mi mathvariant="italic">B</mml:mi>
943 </mml:msub>
944 </mml:mrow>
945 </mml:mfenced>
946 </mml:mrow>
947 </mml:mrow>
948 </mml:math>
949 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
950
951 <mml:mrow>
952 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
953 <mml:mi mathvariant="italic">d</mml:mi>
954 </mml:msub>
955 <mml:mo>=</mml:mo>
956 <mml:mrow>
957 <mml:mi mathvariant="italic">min</mml:mi>
958 <mml:mo>⁡</mml:mo>
959 <mml:mfenced open="(" close=")">
960 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
961 <mml:mi mathvariant="italic">A</mml:mi>
962 </mml:msub>
963 <mml:mrow>
964 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
965 <mml:mi mathvariant="italic">s</mml:mi>
966 </mml:msub>
967 <mml:mo>⁢</mml:mo>
968 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
969 <mml:mi mathvariant="italic">A</mml:mi>
970 </mml:msub>
971 <mml:mo>+</mml:mo>
972 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
973 <mml:mi mathvariant="italic">d</mml:mi>
974 </mml:msub>
975 <mml:mo>⁢</mml:mo>
976 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
977 <mml:mi mathvariant="italic">A</mml:mi>
978 </mml:msub>
979 </mml:mrow>
980 </mml:mfenced>
981 </mml:mrow>
982 </mml:mrow>
983 </mml:math>
984 </p><p>
985 </p><p>
986 Despite the apparent precision of the above equations, blending arithmetic
987 is not exactly specified, because blending operates with imprecise integer
988 color values. However, a blend factor that should be equal to 1 is
989 guaranteed not to modify its multiplicand, and a blend factor equal to 0
990 reduces its multiplicand to 0. For example, when <em class="parameter"><code>srcRGB</code></em> is
991 <code class="constant">GL_SRC_ALPHA</code>, <em class="parameter"><code>dstRGB</code></em> is <code class="constant">GL_ONE_MINUS_SRC_ALPHA</code>, and
992 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
993
994 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
995 <mml:mi mathvariant="italic">s</mml:mi>
996 </mml:msub>
997 </mml:math>
998 is
999 equal to
1000 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1001
1002 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
1003 <mml:mi mathvariant="italic">A</mml:mi>
1004 </mml:msub>
1005 </mml:math>,
1006 the equations reduce to simple replacement:
1007 </p><p>
1008 </p><p>
1009 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1010
1011 <mml:mrow>
1012 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
1013 <mml:mi mathvariant="italic">d</mml:mi>
1014 </mml:msub>
1015 <mml:mo>=</mml:mo>
1016 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
1017 <mml:mi mathvariant="italic">s</mml:mi>
1018 </mml:msub>
1019 </mml:mrow>
1020 </mml:math>
1021 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1022
1023 <mml:mrow>
1024 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
1025 <mml:mi mathvariant="italic">d</mml:mi>
1026 </mml:msub>
1027 <mml:mo>=</mml:mo>
1028 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
1029 <mml:mi mathvariant="italic">s</mml:mi>
1030 </mml:msub>
1031 </mml:mrow>
1032 </mml:math>
1033 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1034
1035 <mml:mrow>
1036 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
1037 <mml:mi mathvariant="italic">d</mml:mi>
1038 </mml:msub>
1039 <mml:mo>=</mml:mo>
1040 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
1041 <mml:mi mathvariant="italic">s</mml:mi>
1042 </mml:msub>
1043 </mml:mrow>
1044 </mml:math>
1045 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1046
1047 <mml:mrow>
1048 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1049 <mml:mi mathvariant="italic">d</mml:mi>
1050 </mml:msub>
1051 <mml:mo>=</mml:mo>
1052 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1053 <mml:mi mathvariant="italic">s</mml:mi>
1054 </mml:msub>
1055 </mml:mrow>
1056 </mml:math>
1057 </p><p>
1058 </p><p>
1059 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="notes"></a><h2>Notes</h2><p>
1060 <code class="function">glBlendFuncSeparate</code> is available only if the GL version is 1.4 or greater.
1061 </p><p>
1062 Incoming (source) alpha is correctly thought of as a material opacity,
1063 ranging from 1.0
1064 (<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1065
1066 <mml:msub><mml:mi mathvariant="italic">K</mml:mi>
1067 <mml:mi mathvariant="italic">A</mml:mi>
1068 </mml:msub>
1069 </mml:math>),
1070 representing complete opacity,
1071 to 0.0 (0), representing complete
1072 transparency.
1073 </p><p>
1074 When more than one color buffer is enabled for drawing,
1075 the GL performs blending separately for each enabled buffer,
1076 using the contents of that buffer for destination color.
1077 (See <a class="citerefentry" href="glDrawBuffer.xml"><span class="citerefentry"><span class="refentrytitle">glDrawBuffer</span></span></a>.)
1078 </p><p>
1079 Blending affects only RGBA rendering.
1080 It is ignored by color index renderers.
1081 </p><p>
1082 <code class="constant">GL_CONSTANT_COLOR</code>, <code class="constant">GL_ONE_MINUS_CONSTANT_COLOR</code>,
1083 <code class="constant">GL_CONSTANT_ALPHA</code>, <code class="constant">GL_ONE_MINUS_CONSTANT_ALPHA</code> are available only
1084 if the GL version is 1.4 or greater or if the <code class="code">ARB_imaging</code> is
1085 supported by your implementation.
1086 </p><p>
1087 <code class="constant">GL_SRC_COLOR</code> and <code class="constant">GL_ONE_MINUS_SRC_COLOR</code> are valid only for
1088 <em class="parameter"><code>srcRGB</code></em> if the GL version is 1.4 or greater.
1089 </p><p>
1090 <code class="constant">GL_DST_COLOR</code> and <code class="constant">GL_ONE_MINUS_DST_COLOR</code> are valid only for
1091 <em class="parameter"><code>dstRGB</code></em> if the GL version is 1.4 or greater.
1092 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="errors"></a><h2>Errors</h2><p>
1093 <code class="constant">GL_INVALID_ENUM</code> is generated if either <em class="parameter"><code>srcRGB</code></em> or <em class="parameter"><code>dstRGB</code></em> is not an
1094 accepted value.
1095 </p><p>
1096 <code class="constant">GL_INVALID_OPERATION</code> is generated if <code class="function">glBlendFuncSeparate</code>
1097 is executed between the execution of <a class="citerefentry" href="glBegin.xml"><span class="citerefentry"><span class="refentrytitle">glBegin</span></span></a>
1098 and the corresponding execution of <a class="citerefentry" href="glEnd.xml"><span class="citerefentry"><span class="refentrytitle">glEnd</span></span></a>.
1099 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="associatedgets"></a><h2>Associated Gets</h2><p>
1100 <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_BLEND_SRC_RGB</code>
1101 </p><p>
1102 <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_BLEND_SRC_ALPHA</code>
1103 </p><p>
1104 <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_BLEND_DST_RGB</code>
1105 </p><p>
1106 <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_BLEND_DST_ALPHA</code>
1107 </p><p>
1108 <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_BLEND</code>
1109 </p><p>
1110 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p>
1111 <a class="citerefentry" href="glAlphaFunc.xml"><span class="citerefentry"><span class="refentrytitle">glAlphaFunc</span></span></a>,
1112 <a class="citerefentry" href="glBlendColor.xml"><span class="citerefentry"><span class="refentrytitle">glBlendColor</span></span></a>,
1113 <a class="citerefentry" href="glBlendFunc.xml"><span class="citerefentry"><span class="refentrytitle">glBlendFunc</span></span></a>,
1114 <a class="citerefentry" href="glBlendEquation.xml"><span class="citerefentry"><span class="refentrytitle">glBlendEquation</span></span></a>,
1115 <a class="citerefentry" href="glClear.xml"><span class="citerefentry"><span class="refentrytitle">glClear</span></span></a>,
1116 <a class="citerefentry" href="glDrawBuffer.xml"><span class="citerefentry"><span class="refentrytitle">glDrawBuffer</span></span></a>,
1117 <a class="citerefentry" href="glEnable.xml"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a>,
1118 <a class="citerefentry" href="glLogicOp.xml"><span class="citerefentry"><span class="refentrytitle">glLogicOp</span></span></a>,
1119 <a class="citerefentry" href="glStencilFunc.xml"><span class="citerefentry"><span class="refentrytitle">glStencilFunc</span></span></a>
1120 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p>
1121 Copyright <span class="trademark"></span>© 1991-2006
1122 Silicon Graphics, Inc. This document is licensed under the SGI
1123 Free Software B License. For details, see
1124 <a class="ulink" href="http://oss.sgi.com/projects/FreeB/" target="_top">http://oss.sgi.com/projects/FreeB/</a>.
1125 </p></div></div></body></html>