rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man3 / xhtml / glBlendFunc.xml
CommitLineData
7faf1d71
AW
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</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.
34 </p><p>
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">
66
67 <mml:mfenced open="(" close=")">
68 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
69 <mml:mi mathvariant="italic">s0</mml:mi>
70 </mml:msub>
71 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
72 <mml:mi mathvariant="italic">s0</mml:mi>
73 </mml:msub>
74 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
75 <mml:mi mathvariant="italic">s0</mml:mi>
76 </mml:msub>
77 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
78 <mml:mi mathvariant="italic">s0</mml:mi>
79 </mml:msub>
80 </mml:mfenced>
81 </mml:math>,
82 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
83
84 <mml:mfenced open="(" close=")">
85 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
86 <mml:mi mathvariant="italic">s1</mml:mi>
87 </mml:msub>
88 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
89 <mml:mi mathvariant="italic">s1</mml:mi>
90 </mml:msub>
91 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
92 <mml:mi mathvariant="italic">s1</mml:mi>
93 </mml:msub>
94 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
95 <mml:mi mathvariant="italic">s1</mml:mi>
96 </mml:msub>
97 </mml:mfenced>
98 </mml:math>
99 and
100 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
101
102 <mml:mfenced open="(" close=")">
103 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
104 <mml:mi mathvariant="italic">d</mml:mi>
105 </mml:msub>
106 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
107 <mml:mi mathvariant="italic">d</mml:mi>
108 </mml:msub>
109 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
110 <mml:mi mathvariant="italic">d</mml:mi>
111 </mml:msub>
112 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
113 <mml:mi mathvariant="italic">d</mml:mi>
114 </mml:msub>
115 </mml:mfenced>
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">
119
120 <mml:mfenced open="(" close=")">
121 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
122 <mml:mi mathvariant="italic">c</mml:mi>
123 </mml:msub>
124 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
125 <mml:mi mathvariant="italic">c</mml:mi>
126 </mml:msub>
127 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
128 <mml:mi mathvariant="italic">c</mml:mi>
129 </mml:msub>
130 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
131 <mml:mi mathvariant="italic">c</mml:mi>
132 </mml:msub>
133 </mml:mfenced>
134 </mml:math>.
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">
137
138 <mml:mfenced open="(" close=")">
139 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
140 <mml:mi mathvariant="italic">R</mml:mi>
141 </mml:msub>
142 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
143 <mml:mi mathvariant="italic">G</mml:mi>
144 </mml:msub>
145 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
146 <mml:mi mathvariant="italic">B</mml:mi>
147 </mml:msub>
148 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
149 <mml:mi mathvariant="italic">A</mml:mi>
150 </mml:msub>
151 </mml:mfenced>
152 </mml:math>,
153 where
154 </p><p>
155 </p><p>
156 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
157
158 <mml:mrow>
159 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
160 <mml:mi mathvariant="italic">c</mml:mi>
161 </mml:msub>
162 <mml:mo>=</mml:mo>
163 <mml:mrow>
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>
168 </mml:msub>
169 </mml:mfenced>
170 </mml:msup>
171 <mml:mo>-</mml:mo>
172 <mml:mn>1</mml:mn>
173 </mml:mrow>
174 </mml:mrow>
175 </mml:math>
176 </p><p>
177 </p><p>
178 and
179 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
180
181 <mml:mfenced open="(" close=")">
182 <mml:msub><mml:mi mathvariant="italic">m</mml:mi>
183 <mml:mi mathvariant="italic">R</mml:mi>
184 </mml:msub>
185 <mml:msub><mml:mi mathvariant="italic">m</mml:mi>
186 <mml:mi mathvariant="italic">G</mml:mi>
187 </mml:msub>
188 <mml:msub><mml:mi mathvariant="italic">m</mml:mi>
189 <mml:mi mathvariant="italic">B</mml:mi>
190 </mml:msub>
191 <mml:msub><mml:mi mathvariant="italic">m</mml:mi>
192 <mml:mi mathvariant="italic">A</mml:mi>
193 </mml:msub>
194 </mml:mfenced>
195 </mml:math>
196 is the number of red,
197 green,
198 blue,
199 and alpha bitplanes.
200 </p><p>
201 Source and destination scale factors are referred to as
202 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
203
204 <mml:mfenced open="(" close=")">
205 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
206 <mml:mi mathvariant="italic">R</mml:mi>
207 </mml:msub>
208 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
209 <mml:mi mathvariant="italic">G</mml:mi>
210 </mml:msub>
211 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
212 <mml:mi mathvariant="italic">B</mml:mi>
213 </mml:msub>
214 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
215 <mml:mi mathvariant="italic">A</mml:mi>
216 </mml:msub>
217 </mml:mfenced>
218 </mml:math>
219 and
220 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
221
222 <mml:mfenced open="(" close=")">
223 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
224 <mml:mi mathvariant="italic">R</mml:mi>
225 </mml:msub>
226 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
227 <mml:mi mathvariant="italic">G</mml:mi>
228 </mml:msub>
229 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
230 <mml:mi mathvariant="italic">B</mml:mi>
231 </mml:msub>
232 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
233 <mml:mi mathvariant="italic">A</mml:mi>
234 </mml:msub>
235 </mml:mfenced>
236 </mml:math>.
237 The scale factors described in the table,
238 denoted
239 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
240
241 <mml:mfenced open="(" close=")">
242 <mml:msub><mml:mi mathvariant="italic">f</mml:mi>
243 <mml:mi mathvariant="italic">R</mml:mi>
244 </mml:msub>
245 <mml:msub><mml:mi mathvariant="italic">f</mml:mi>
246 <mml:mi mathvariant="italic">G</mml:mi>
247 </mml:msub>
248 <mml:msub><mml:mi mathvariant="italic">f</mml:mi>
249 <mml:mi mathvariant="italic">B</mml:mi>
250 </mml:msub>
251 <mml:msub><mml:mi mathvariant="italic">f</mml:mi>
252 <mml:mi mathvariant="italic">A</mml:mi>
253 </mml:msub>
254 </mml:mfenced>
255 </mml:math>,
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">
259
260 <mml:mfenced open="[" close="]">
261 <mml:mn>0</mml:mn>
262 <mml:mn>1</mml:mn>
263 </mml:mfenced>
264 </mml:math>.
265 </p><p>
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>
267 Parameter
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">
270
271 <mml:mfenced open="(" close=")">
272 <mml:msub><mml:mi mathvariant="italic">f</mml:mi>
273 <mml:mi mathvariant="italic">R</mml:mi>
274 </mml:msub>
275 <mml:msub><mml:mi mathvariant="italic">f</mml:mi>
276 <mml:mi mathvariant="italic">G</mml:mi>
277 </mml:msub>
278 <mml:msub><mml:mi mathvariant="italic">f</mml:mi>
279 <mml:mi mathvariant="italic">B</mml:mi>
280 </mml:msub>
281 <mml:msub><mml:mi mathvariant="italic">f</mml:mi>
282 <mml:mi mathvariant="italic">A</mml:mi>
283 </mml:msub>
284 </mml:mfenced>
285 </mml:math>
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">
290
291 <mml:mfenced open="(" close=")">
292 <mml:mn>0</mml:mn>
293 <mml:mn>0</mml:mn>
294 <mml:mn>0</mml:mn>
295 <mml:mn>0</mml:mn>
296 </mml:mfenced>
297 </mml:math>
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">
302
303 <mml:mfenced open="(" close=")">
304 <mml:mn>1</mml:mn>
305 <mml:mn>1</mml:mn>
306 <mml:mn>1</mml:mn>
307 <mml:mn>1</mml:mn>
308 </mml:mfenced>
309 </mml:math>
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">
314
315 <mml:mfenced open="(" close=")">
316 <mml:mfrac>
317 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
318 <mml:mi mathvariant="italic">s0</mml:mi>
319 </mml:msub>
320 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
321 <mml:mi mathvariant="italic">R</mml:mi>
322 </mml:msub>
323 </mml:mfrac>
324 <mml:mfrac>
325 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
326 <mml:mi mathvariant="italic">s0</mml:mi>
327 </mml:msub>
328 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
329 <mml:mi mathvariant="italic">G</mml:mi>
330 </mml:msub>
331 </mml:mfrac>
332 <mml:mfrac>
333 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
334 <mml:mi mathvariant="italic">s0</mml:mi>
335 </mml:msub>
336 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
337 <mml:mi mathvariant="italic">B</mml:mi>
338 </mml:msub>
339 </mml:mfrac>
340 <mml:mfrac>
341 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
342 <mml:mi mathvariant="italic">s0</mml:mi>
343 </mml:msub>
344 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
345 <mml:mi mathvariant="italic">A</mml:mi>
346 </mml:msub>
347 </mml:mfrac>
348 </mml:mfenced>
349 </mml:math>
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">
354
355 <mml:mrow>
356 <mml:mfenced open="(" close=")">
357 <mml:mn>1</mml:mn>
358 <mml:mn>1</mml:mn>
359 <mml:mn>1</mml:mn>
360 <mml:mn>1</mml:mn>
361 </mml:mfenced>
362 <mml:mo>-</mml:mo>
363 <mml:mfenced open="(" close=")">
364 <mml:mfrac>
365 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
366 <mml:mi mathvariant="italic">s0</mml:mi>
367 </mml:msub>
368 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
369 <mml:mi mathvariant="italic">R</mml:mi>
370 </mml:msub>
371 </mml:mfrac>
372 <mml:mfrac>
373 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
374 <mml:mi mathvariant="italic">s0</mml:mi>
375 </mml:msub>
376 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
377 <mml:mi mathvariant="italic">G</mml:mi>
378 </mml:msub>
379 </mml:mfrac>
380 <mml:mfrac>
381 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
382 <mml:mi mathvariant="italic">s0</mml:mi>
383 </mml:msub>
384 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
385 <mml:mi mathvariant="italic">B</mml:mi>
386 </mml:msub>
387 </mml:mfrac>
388 <mml:mfrac>
389 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
390 <mml:mi mathvariant="italic">s0</mml:mi>
391 </mml:msub>
392 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
393 <mml:mi mathvariant="italic">A</mml:mi>
394 </mml:msub>
395 </mml:mfrac>
396 </mml:mfenced>
397 </mml:mrow>
398 </mml:math>
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">
403
404 <mml:mfenced open="(" close=")">
405 <mml:mfrac>
406 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
407 <mml:mi mathvariant="italic">d</mml:mi>
408 </mml:msub>
409 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
410 <mml:mi mathvariant="italic">R</mml:mi>
411 </mml:msub>
412 </mml:mfrac>
413 <mml:mfrac>
414 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
415 <mml:mi mathvariant="italic">d</mml:mi>
416 </mml:msub>
417 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
418 <mml:mi mathvariant="italic">G</mml:mi>
419 </mml:msub>
420 </mml:mfrac>
421 <mml:mfrac>
422 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
423 <mml:mi mathvariant="italic">d</mml:mi>
424 </mml:msub>
425 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
426 <mml:mi mathvariant="italic">B</mml:mi>
427 </mml:msub>
428 </mml:mfrac>
429 <mml:mfrac>
430 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
431 <mml:mi mathvariant="italic">d</mml:mi>
432 </mml:msub>
433 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
434 <mml:mi mathvariant="italic">A</mml:mi>
435 </mml:msub>
436 </mml:mfrac>
437 </mml:mfenced>
438 </mml:math>
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">
443
444 <mml:mrow>
445 <mml:mfenced open="(" close=")">
446 <mml:mn>1</mml:mn>
447 <mml:mn>1</mml:mn>
448 <mml:mn>1</mml:mn>
449 <mml:mn>1</mml:mn>
450 </mml:mfenced>
451 <mml:mo>-</mml:mo>
452 <mml:mfenced open="(" close=")">
453 <mml:mfrac>
454 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
455 <mml:mi mathvariant="italic">d</mml:mi>
456 </mml:msub>
457 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
458 <mml:mi mathvariant="italic">R</mml:mi>
459 </mml:msub>
460 </mml:mfrac>
461 <mml:mfrac>
462 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
463 <mml:mi mathvariant="italic">d</mml:mi>
464 </mml:msub>
465 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
466 <mml:mi mathvariant="italic">G</mml:mi>
467 </mml:msub>
468 </mml:mfrac>
469 <mml:mfrac>
470 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
471 <mml:mi mathvariant="italic">d</mml:mi>
472 </mml:msub>
473 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
474 <mml:mi mathvariant="italic">B</mml:mi>
475 </mml:msub>
476 </mml:mfrac>
477 <mml:mfrac>
478 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
479 <mml:mi mathvariant="italic">d</mml:mi>
480 </mml:msub>
481 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
482 <mml:mi mathvariant="italic">A</mml:mi>
483 </mml:msub>
484 </mml:mfrac>
485 </mml:mfenced>
486 </mml:mrow>
487 </mml:math>
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">
492
493 <mml:mfenced open="(" close=")">
494 <mml:mfrac>
495 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
496 <mml:mi mathvariant="italic">s0</mml:mi>
497 </mml:msub>
498 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
499 <mml:mi mathvariant="italic">A</mml:mi>
500 </mml:msub>
501 </mml:mfrac>
502 <mml:mfrac>
503 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
504 <mml:mi mathvariant="italic">s0</mml:mi>
505 </mml:msub>
506 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
507 <mml:mi mathvariant="italic">A</mml:mi>
508 </mml:msub>
509 </mml:mfrac>
510 <mml:mfrac>
511 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
512 <mml:mi mathvariant="italic">s0</mml:mi>
513 </mml:msub>
514 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
515 <mml:mi mathvariant="italic">A</mml:mi>
516 </mml:msub>
517 </mml:mfrac>
518 <mml:mfrac>
519 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
520 <mml:mi mathvariant="italic">s0</mml:mi>
521 </mml:msub>
522 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
523 <mml:mi mathvariant="italic">A</mml:mi>
524 </mml:msub>
525 </mml:mfrac>
526 </mml:mfenced>
527 </mml:math>
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">
532
533 <mml:mrow>
534 <mml:mfenced open="(" close=")">
535 <mml:mn>1</mml:mn>
536 <mml:mn>1</mml:mn>
537 <mml:mn>1</mml:mn>
538 <mml:mn>1</mml:mn>
539 </mml:mfenced>
540 <mml:mo>-</mml:mo>
541 <mml:mfenced open="(" close=")">
542 <mml:mfrac>
543 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
544 <mml:mi mathvariant="italic">s0</mml:mi>
545 </mml:msub>
546 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
547 <mml:mi mathvariant="italic">A</mml:mi>
548 </mml:msub>
549 </mml:mfrac>
550 <mml:mfrac>
551 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
552 <mml:mi mathvariant="italic">s0</mml:mi>
553 </mml:msub>
554 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
555 <mml:mi mathvariant="italic">A</mml:mi>
556 </mml:msub>
557 </mml:mfrac>
558 <mml:mfrac>
559 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
560 <mml:mi mathvariant="italic">s0</mml:mi>
561 </mml:msub>
562 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
563 <mml:mi mathvariant="italic">A</mml:mi>
564 </mml:msub>
565 </mml:mfrac>
566 <mml:mfrac>
567 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
568 <mml:mi mathvariant="italic">s0</mml:mi>
569 </mml:msub>
570 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
571 <mml:mi mathvariant="italic">A</mml:mi>
572 </mml:msub>
573 </mml:mfrac>
574 </mml:mfenced>
575 </mml:mrow>
576 </mml:math>
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">
581
582 <mml:mfenced open="(" close=")">
583 <mml:mfrac>
584 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
585 <mml:mi mathvariant="italic">d</mml:mi>
586 </mml:msub>
587 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
588 <mml:mi mathvariant="italic">A</mml:mi>
589 </mml:msub>
590 </mml:mfrac>
591 <mml:mfrac>
592 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
593 <mml:mi mathvariant="italic">d</mml:mi>
594 </mml:msub>
595 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
596 <mml:mi mathvariant="italic">A</mml:mi>
597 </mml:msub>
598 </mml:mfrac>
599 <mml:mfrac>
600 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
601 <mml:mi mathvariant="italic">d</mml:mi>
602 </mml:msub>
603 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
604 <mml:mi mathvariant="italic">A</mml:mi>
605 </mml:msub>
606 </mml:mfrac>
607 <mml:mfrac>
608 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
609 <mml:mi mathvariant="italic">d</mml:mi>
610 </mml:msub>
611 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
612 <mml:mi mathvariant="italic">A</mml:mi>
613 </mml:msub>
614 </mml:mfrac>
615 </mml:mfenced>
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:mn>1</mml:mn>
628 </mml:mfenced>
629 <mml:mo>-</mml:mo>
630 <mml:mfenced open="(" close=")">
631 <mml:mfrac>
632 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
633 <mml:mi mathvariant="italic">d</mml:mi>
634 </mml:msub>
635 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
636 <mml:mi mathvariant="italic">A</mml:mi>
637 </mml:msub>
638 </mml:mfrac>
639 <mml:mfrac>
640 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
641 <mml:mi mathvariant="italic">d</mml:mi>
642 </mml:msub>
643 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
644 <mml:mi mathvariant="italic">A</mml:mi>
645 </mml:msub>
646 </mml:mfrac>
647 <mml:mfrac>
648 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
649 <mml:mi mathvariant="italic">d</mml:mi>
650 </mml:msub>
651 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
652 <mml:mi mathvariant="italic">A</mml:mi>
653 </mml:msub>
654 </mml:mfrac>
655 <mml:mfrac>
656 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
657 <mml:mi mathvariant="italic">d</mml:mi>
658 </mml:msub>
659 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
660 <mml:mi mathvariant="italic">A</mml:mi>
661 </mml:msub>
662 </mml:mfrac>
663 </mml:mfenced>
664 </mml:mrow>
665 </mml:math>
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">
670
671 <mml:mfenced open="(" close=")">
672 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
673 <mml:mi mathvariant="italic">c</mml:mi>
674 </mml:msub>
675 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
676 <mml:mi mathvariant="italic">c</mml:mi>
677 </mml:msub>
678 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
679 <mml:mi mathvariant="italic">c</mml:mi>
680 </mml:msub>
681 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
682 <mml:mi mathvariant="italic">c</mml:mi>
683 </mml:msub>
684 </mml:mfenced>
685 </mml:math>
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">
690
691 <mml:mrow>
692 <mml:mfenced open="(" close=")">
693 <mml:mn>1</mml:mn>
694 <mml:mn>1</mml:mn>
695 <mml:mn>1</mml:mn>
696 <mml:mn>1</mml:mn>
697 </mml:mfenced>
698 <mml:mo>-</mml:mo>
699 <mml:mfenced open="(" close=")">
700 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
701 <mml:mi mathvariant="italic">c</mml:mi>
702 </mml:msub>
703 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
704 <mml:mi mathvariant="italic">c</mml:mi>
705 </mml:msub>
706 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
707 <mml:mi mathvariant="italic">c</mml:mi>
708 </mml:msub>
709 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
710 <mml:mi mathvariant="italic">c</mml:mi>
711 </mml:msub>
712 </mml:mfenced>
713 </mml:mrow>
714 </mml:math>
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">
719
720 <mml:mfenced open="(" close=")">
721 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
722 <mml:mi mathvariant="italic">c</mml:mi>
723 </mml:msub>
724 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
725 <mml:mi mathvariant="italic">c</mml:mi>
726 </mml:msub>
727 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
728 <mml:mi mathvariant="italic">c</mml:mi>
729 </mml:msub>
730 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
731 <mml:mi mathvariant="italic">c</mml:mi>
732 </mml:msub>
733 </mml:mfenced>
734 </mml:math>
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">
739
740 <mml:mrow>
741 <mml:mfenced open="(" close=")">
742 <mml:mn>1</mml:mn>
743 <mml:mn>1</mml:mn>
744 <mml:mn>1</mml:mn>
745 <mml:mn>1</mml:mn>
746 </mml:mfenced>
747 <mml:mo>-</mml:mo>
748 <mml:mfenced open="(" close=")">
749 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
750 <mml:mi mathvariant="italic">c</mml:mi>
751 </mml:msub>
752 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
753 <mml:mi mathvariant="italic">c</mml:mi>
754 </mml:msub>
755 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
756 <mml:mi mathvariant="italic">c</mml:mi>
757 </mml:msub>
758 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
759 <mml:mi mathvariant="italic">c</mml:mi>
760 </mml:msub>
761 </mml:mfenced>
762 </mml:mrow>
763 </mml:math>
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">
768
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>
773 <mml:mn>1</mml:mn>
774 </mml:mfenced>
775 </mml:math>
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">
780
781 <mml:mfenced open="(" close=")">
782 <mml:mfrac>
783 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
784 <mml:mi mathvariant="italic">s1</mml:mi>
785 </mml:msub>
786 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
787 <mml:mi mathvariant="italic">R</mml:mi>
788 </mml:msub>
789 </mml:mfrac>
790 <mml:mfrac>
791 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
792 <mml:mi mathvariant="italic">s1</mml:mi>
793 </mml:msub>
794 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
795 <mml:mi mathvariant="italic">G</mml:mi>
796 </mml:msub>
797 </mml:mfrac>
798 <mml:mfrac>
799 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
800 <mml:mi mathvariant="italic">s1</mml:mi>
801 </mml:msub>
802 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
803 <mml:mi mathvariant="italic">B</mml:mi>
804 </mml:msub>
805 </mml:mfrac>
806 <mml:mfrac>
807 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
808 <mml:mi mathvariant="italic">s1</mml:mi>
809 </mml:msub>
810 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
811 <mml:mi mathvariant="italic">A</mml:mi>
812 </mml:msub>
813 </mml:mfrac>
814 </mml:mfenced>
815 </mml:math>
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">
820
821 <mml:mrow>
822 <mml:mfenced open="(" close=")">
823 <mml:mn>1</mml:mn>
824 <mml:mn>1</mml:mn>
825 <mml:mn>1</mml:mn>
826 <mml:mn>1</mml:mn>
827 </mml:mfenced>
828 <mml:mo>-</mml:mo>
829 <mml:mfenced open="(" close=")">
830 <mml:mfrac>
831 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
832 <mml:mi mathvariant="italic">s1</mml:mi>
833 </mml:msub>
834 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
835 <mml:mi mathvariant="italic">R</mml:mi>
836 </mml:msub>
837 </mml:mfrac>
838 <mml:mfrac>
839 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
840 <mml:mi mathvariant="italic">s1</mml:mi>
841 </mml:msub>
842 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
843 <mml:mi mathvariant="italic">G</mml:mi>
844 </mml:msub>
845 </mml:mfrac>
846 <mml:mfrac>
847 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
848 <mml:mi mathvariant="italic">s1</mml:mi>
849 </mml:msub>
850 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
851 <mml:mi mathvariant="italic">B</mml:mi>
852 </mml:msub>
853 </mml:mfrac>
854 <mml:mfrac>
855 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
856 <mml:mi mathvariant="italic">s1</mml:mi>
857 </mml:msub>
858 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
859 <mml:mi mathvariant="italic">A</mml:mi>
860 </mml:msub>
861 </mml:mfrac>
862 </mml:mfenced>
863 </mml:mrow>
864 </mml:math>
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">
869
870 <mml:mfenced open="(" close=")">
871 <mml:mfrac>
872 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
873 <mml:mi mathvariant="italic">s1</mml:mi>
874 </mml:msub>
875 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
876 <mml:mi mathvariant="italic">A</mml:mi>
877 </mml:msub>
878 </mml:mfrac>
879 <mml:mfrac>
880 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
881 <mml:mi mathvariant="italic">s1</mml:mi>
882 </mml:msub>
883 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
884 <mml:mi mathvariant="italic">A</mml:mi>
885 </mml:msub>
886 </mml:mfrac>
887 <mml:mfrac>
888 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
889 <mml:mi mathvariant="italic">s1</mml:mi>
890 </mml:msub>
891 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
892 <mml:mi mathvariant="italic">A</mml:mi>
893 </mml:msub>
894 </mml:mfrac>
895 <mml:mfrac>
896 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
897 <mml:mi mathvariant="italic">s1</mml:mi>
898 </mml:msub>
899 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
900 <mml:mi mathvariant="italic">A</mml:mi>
901 </mml:msub>
902 </mml:mfrac>
903 </mml:mfenced>
904 </mml:math>
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">
909
910 <mml:mrow>
911 <mml:mfenced open="(" close=")">
912 <mml:mn>1</mml:mn>
913 <mml:mn>1</mml:mn>
914 <mml:mn>1</mml:mn>
915 <mml:mn>1</mml:mn>
916 </mml:mfenced>
917 <mml:mo>-</mml:mo>
918 <mml:mfenced open="(" close=")">
919 <mml:mfrac>
920 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
921 <mml:mi mathvariant="italic">s1</mml:mi>
922 </mml:msub>
923 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
924 <mml:mi mathvariant="italic">A</mml:mi>
925 </mml:msub>
926 </mml:mfrac>
927 <mml:mfrac>
928 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
929 <mml:mi mathvariant="italic">s1</mml:mi>
930 </mml:msub>
931 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
932 <mml:mi mathvariant="italic">A</mml:mi>
933 </mml:msub>
934 </mml:mfrac>
935 <mml:mfrac>
936 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
937 <mml:mi mathvariant="italic">s1</mml:mi>
938 </mml:msub>
939 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
940 <mml:mi mathvariant="italic">A</mml:mi>
941 </mml:msub>
942 </mml:mfrac>
943 <mml:mfrac>
944 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
945 <mml:mi mathvariant="italic">s1</mml:mi>
946 </mml:msub>
947 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
948 <mml:mi mathvariant="italic">A</mml:mi>
949 </mml:msub>
950 </mml:mfrac>
951 </mml:mfenced>
952 </mml:mrow>
953 </mml:math>
954 </td></tr></tbody></table></div><p>
955 In the table,
956 </p><p>
957 </p><p>
958 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
959
960 <mml:mrow>
961 <mml:mi mathvariant="italic">i</mml:mi>
962 <mml:mo>=</mml:mo>
963 <mml:mfrac>
964 <mml:mrow>
965 <mml:mi mathvariant="italic">min</mml:mi>
966 <mml:mo>⁡</mml:mo>
967 <mml:mfenced open="(" close=")">
968 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
969 <mml:mi mathvariant="italic">s</mml:mi>
970 </mml:msub>
971 <mml:mrow>
972 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
973 <mml:mi mathvariant="italic">A</mml:mi>
974 </mml:msub>
975 <mml:mo>-</mml:mo>
976 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
977 <mml:mi mathvariant="italic">d</mml:mi>
978 </mml:msub>
979 </mml:mrow>
980 </mml:mfenced>
981 </mml:mrow>
982 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
983 <mml:mi mathvariant="italic">A</mml:mi>
984 </mml:msub>
985 </mml:mfrac>
986 </mml:mrow>
987 </mml:math>
988 </p><p>
989 </p><p>
990 To determine the blended RGBA values of a pixel,
991 the system uses the following equations:
992 </p><p>
993 </p><p>
994 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
995
996 <mml:mrow>
997 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
998 <mml:mi mathvariant="italic">d</mml:mi>
999 </mml:msub>
1000 <mml:mo>=</mml:mo>
1001 <mml:mrow>
1002 <mml:mi mathvariant="italic">min</mml:mi>
1003 <mml:mo>⁡</mml:mo>
1004 <mml:mfenced open="(" close=")">
1005 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
1006 <mml:mi mathvariant="italic">R</mml:mi>
1007 </mml:msub>
1008 <mml:mrow>
1009 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
1010 <mml:mi mathvariant="italic">s</mml:mi>
1011 </mml:msub>
1012 <mml:mo>⁢</mml:mo>
1013 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
1014 <mml:mi mathvariant="italic">R</mml:mi>
1015 </mml:msub>
1016 <mml:mo>+</mml:mo>
1017 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
1018 <mml:mi mathvariant="italic">d</mml:mi>
1019 </mml:msub>
1020 <mml:mo>⁢</mml:mo>
1021 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
1022 <mml:mi mathvariant="italic">R</mml:mi>
1023 </mml:msub>
1024 </mml:mrow>
1025 </mml:mfenced>
1026 </mml:mrow>
1027 </mml:mrow>
1028 </mml:math>
1029 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1030
1031 <mml:mrow>
1032 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
1033 <mml:mi mathvariant="italic">d</mml:mi>
1034 </mml:msub>
1035 <mml:mo>=</mml:mo>
1036 <mml:mrow>
1037 <mml:mi mathvariant="italic">min</mml:mi>
1038 <mml:mo>⁡</mml:mo>
1039 <mml:mfenced open="(" close=")">
1040 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
1041 <mml:mi mathvariant="italic">G</mml:mi>
1042 </mml:msub>
1043 <mml:mrow>
1044 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
1045 <mml:mi mathvariant="italic">s</mml:mi>
1046 </mml:msub>
1047 <mml:mo>⁢</mml:mo>
1048 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
1049 <mml:mi mathvariant="italic">G</mml:mi>
1050 </mml:msub>
1051 <mml:mo>+</mml:mo>
1052 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
1053 <mml:mi mathvariant="italic">d</mml:mi>
1054 </mml:msub>
1055 <mml:mo>⁢</mml:mo>
1056 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
1057 <mml:mi mathvariant="italic">G</mml:mi>
1058 </mml:msub>
1059 </mml:mrow>
1060 </mml:mfenced>
1061 </mml:mrow>
1062 </mml:mrow>
1063 </mml:math>
1064 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1065
1066 <mml:mrow>
1067 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
1068 <mml:mi mathvariant="italic">d</mml:mi>
1069 </mml:msub>
1070 <mml:mo>=</mml:mo>
1071 <mml:mrow>
1072 <mml:mi mathvariant="italic">min</mml:mi>
1073 <mml:mo>⁡</mml:mo>
1074 <mml:mfenced open="(" close=")">
1075 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
1076 <mml:mi mathvariant="italic">B</mml:mi>
1077 </mml:msub>
1078 <mml:mrow>
1079 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
1080 <mml:mi mathvariant="italic">s</mml:mi>
1081 </mml:msub>
1082 <mml:mo>⁢</mml:mo>
1083 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
1084 <mml:mi mathvariant="italic">B</mml:mi>
1085 </mml:msub>
1086 <mml:mo>+</mml:mo>
1087 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
1088 <mml:mi mathvariant="italic">d</mml:mi>
1089 </mml:msub>
1090 <mml:mo>⁢</mml:mo>
1091 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
1092 <mml:mi mathvariant="italic">B</mml:mi>
1093 </mml:msub>
1094 </mml:mrow>
1095 </mml:mfenced>
1096 </mml:mrow>
1097 </mml:mrow>
1098 </mml:math>
1099 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1100
1101 <mml:mrow>
1102 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1103 <mml:mi mathvariant="italic">d</mml:mi>
1104 </mml:msub>
1105 <mml:mo>=</mml:mo>
1106 <mml:mrow>
1107 <mml:mi mathvariant="italic">min</mml:mi>
1108 <mml:mo>⁡</mml:mo>
1109 <mml:mfenced open="(" close=")">
1110 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
1111 <mml:mi mathvariant="italic">A</mml:mi>
1112 </mml:msub>
1113 <mml:mrow>
1114 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1115 <mml:mi mathvariant="italic">s</mml:mi>
1116 </mml:msub>
1117 <mml:mo>⁢</mml:mo>
1118 <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
1119 <mml:mi mathvariant="italic">A</mml:mi>
1120 </mml:msub>
1121 <mml:mo>+</mml:mo>
1122 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1123 <mml:mi mathvariant="italic">d</mml:mi>
1124 </mml:msub>
1125 <mml:mo>⁢</mml:mo>
1126 <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
1127 <mml:mi mathvariant="italic">A</mml:mi>
1128 </mml:msub>
1129 </mml:mrow>
1130 </mml:mfenced>
1131 </mml:mrow>
1132 </mml:mrow>
1133 </mml:math>
1134 </p><p>
1135 </p><p>
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.
1139 However,
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.
1143 For example,
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>,
1146 and
1147 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1148
1149 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1150 <mml:mi mathvariant="italic">s</mml:mi>
1151 </mml:msub>
1152 </mml:math>
1153 is equal to
1154 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1155
1156 <mml:msub><mml:mi mathvariant="italic">k</mml:mi>
1157 <mml:mi mathvariant="italic">A</mml:mi>
1158 </mml:msub>
1159 </mml:math>,
1160 the equations reduce to simple replacement:
1161 </p><p>
1162 </p><p>
1163 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1164
1165 <mml:mrow>
1166 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
1167 <mml:mi mathvariant="italic">d</mml:mi>
1168 </mml:msub>
1169 <mml:mo>=</mml:mo>
1170 <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
1171 <mml:mi mathvariant="italic">s</mml:mi>
1172 </mml:msub>
1173 </mml:mrow>
1174 </mml:math>
1175 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1176
1177 <mml:mrow>
1178 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
1179 <mml:mi mathvariant="italic">d</mml:mi>
1180 </mml:msub>
1181 <mml:mo>=</mml:mo>
1182 <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
1183 <mml:mi mathvariant="italic">s</mml:mi>
1184 </mml:msub>
1185 </mml:mrow>
1186 </mml:math>
1187 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1188
1189 <mml:mrow>
1190 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
1191 <mml:mi mathvariant="italic">d</mml:mi>
1192 </mml:msub>
1193 <mml:mo>=</mml:mo>
1194 <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
1195 <mml:mi mathvariant="italic">s</mml:mi>
1196 </mml:msub>
1197 </mml:mrow>
1198 </mml:math>
1199 <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1200
1201 <mml:mrow>
1202 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1203 <mml:mi mathvariant="italic">d</mml:mi>
1204 </mml:msub>
1205 <mml:mo>=</mml:mo>
1206 <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
1207 <mml:mi mathvariant="italic">s</mml:mi>
1208 </mml:msub>
1209 </mml:mrow>
1210 </mml:math>
1211 </p><p>
1212 </p><p>
1213 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="examples"></a><h2>Examples</h2><p>
1214 </p><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.
1220 </p><p>
1221 Blend function
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
1224 in arbitrary order.
1225 </p><p>
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,
1236 ranging from 1.0
1237 (<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
1238
1239 <mml:msub><mml:mi mathvariant="italic">K</mml:mi>
1240 <mml:mi mathvariant="italic">A</mml:mi>
1241 </mml:msub>
1242 </mml:math>),
1243 representing complete opacity,
1244 to 0.0 (0), representing complete
1245 transparency.
1246 </p><p>
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>.)
1251 </p><p>
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</code>
1261 </p><p>
1262 <a href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_BLEND_DST</code>
1263 </p><p>
1264 <a href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_BLEND</code>
1265 </p><p>
1266 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p>
1267 <a href="glBlendColor.xml"><span class="citerefentry"><span class="refentrytitle">glBlendColor</span></span></a>,
1268 <a href="glBlendEquation.xml"><span class="citerefentry"><span class="refentrytitle">glBlendEquation</span></span></a>,
1269 <a href="glBlendFuncSeparate.xml"><span class="citerefentry"><span class="refentrytitle">glBlendFuncSeparate</span></span></a>,
1270 <a href="glClear.xml"><span class="citerefentry"><span class="refentrytitle">glClear</span></span></a>,
1271 <a href="glDrawBuffer.xml"><span class="citerefentry"><span class="refentrytitle">glDrawBuffer</span></span></a>,
1272 <a href="glEnable.xml"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a>,
1273 <a href="glLogicOp.xml"><span class="citerefentry"><span class="refentrytitle">glLogicOp</span></span></a>,
1274 <a href="glStencilFunc.xml"><span class="citerefentry"><span class="refentrytitle">glStencilFunc</span></span></a>
1275 </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p>
1276 Copyright <span class="trademark"></span>© 1991-2006
1277 Silicon Graphics, Inc. This document is licensed under the SGI
1278 Free Software B License. For details, see
1279 <a href="http://oss.sgi.com/projects/FreeB/" target="_top">http://oss.sgi.com/projects/FreeB/</a>.
1280 </p></div></div></body></html>