1005:, a pixel value of (0, 0.7, 0, 0.5) implies a pixel that has 70% of the maximum green intensity and 50% opacity. If the color were fully green, its RGBA would be (0, 1, 0, 0.5). However, if this pixel uses premultiplied alpha, all of the RGB values (0, 0.7, 0) are multiplied, or scaled for occlusion, by the alpha value 0.5, which is appended to yield (0, 0.35, 0, 0.5). In this case, the 0.35 value for the G channel actually indicates 70% green emission intensity (with 50% occlusion). A pure green emission would be encoded as (0, 0.5, 0, 0.5). Knowing whether a file uses straight or premultiplied alpha is essential to correctly process or composite it, as a different calculation is required.
969:. Ordinary interpolation without premultiplied alpha leads to RGB information leaking out of fully transparent (A=0) regions, even though this RGB information is ideally invisible. When interpolating or filtering images with abrupt borders between transparent and opaque regions, this can result in borders of colors that were not visible in the original image. Errors also occur in areas of semitransparency because the RGB components are not correctly weighted, giving incorrectly high weighting to the color of the more transparent (lower alpha) pixels.
31:
339:
1309:
1552:
1301:
573:
984:
is removed. In practice, this is not usually noticeable because during typical composition operations, such as OVER, the influence of the low-precision color information in low-alpha areas on the final output image (after composition) is correspondingly reduced. This loss of precision also makes premultiplied images easier to
988:
using certain compression schemes, as they do not record the color variations hidden inside transparent regions, and can allocate fewer bits to encode low-alpha areas. The same “limitations” of lower quantisation bit depths such as 8 bit per channel are also present in imagery without alpha, and this
1039:
generally does not support this channel; however, in different formats such as 32-bit (888–8) or 16-bit (444–4) it is possible to save the alpha channel, although not all systems or programs are able to read it: it is exploited mainly in some video games or particular applications; specific programs
983:
One disadvantage of premultiplied alpha is that it can reduce the available relative precision in the RGB values when using integer or fixed-point representation for the color components. This may cause a noticeable loss of quality if the color information is later brightened or if the alpha channel
2129:
By switching to pre-multiplied blend mode for all particle effects, and entire scene can be done with one draw call (assuming atlasing/2D array for the textures)... Another neat trick with pre-multiplied alpha is that if you have overlapping textures that are in known positions, you can pre-process
979:
Another advantage of premultiplied alpha is performance; in certain situations, it can reduce the number of multiplication operations (e.g. if the image is used many times during later compositing). The Porter–Duff operations have a simple form only in premultiplied alpha. Some rendering
354:
1028:
supports alpha channels, but is considered to be inefficient when it comes to file size. Support for alpha channels is present in some video codecs, such as
Animation and Apple ProRes 4444 of the QuickTime format, or in the Techsmith multi-format codec.
95:
for each element in addition to its color. This matte layer contains the coverage information—the shape of the geometry being drawn—making it possible to distinguish between parts of the image where something was drawn and parts that are empty.
1670:
1404:
Accordingly, computer programs that deal with such images must decode the RGB values into a linear space (by undoing the gamma-compression), blend the linear light intensities, and re-apply the gamma compression to the result:
1726:, for instance, requires a separate transparency channel for each RGB channel to model the red, green and blue transparency separately. More alpha channels can be added for accurate spectral color filtration applications.
568:{\displaystyle {\begin{aligned}\alpha _{o}&={\phantom {~C_{a}}}\alpha _{a}+{\phantom {C_{b}}}\alpha _{b}(1-\alpha _{a})\\C_{o}&={\frac {C_{a}\alpha _{a}+C_{b}\alpha _{b}(1-\alpha _{a})}{\alpha _{o}}}\end{aligned}}}
949:
1413:
1376:
359:
873:
976:(e.g. flame and glitter effects) to be encoded within the same image. This is represented by an RGBA triplet that express emission with no occlusion, such as (0.4, 0.3, 0.2, 0.0).
195:
659:
stand for the color components of the pixels in the result of the "over", image A, and image B respectively, applied to each color channel (red/green/blue) individually, whereas
738:
711:
684:
1399:
775:
If an alpha channel is used in an image, there are two common representations that are available: straight (unassociated) alpha and premultiplied (associated) alpha.
235:
215:
657:
630:
603:
1565:
120:
1691:
do not permit the smooth blending of the superimposed image pixels with those of the background (only whole image pixels or whole background pixels allowed).
2097:
217:(alpha) to control the amount of interpolation between, in this case, two images A and B". That is, when compositing image A atop image B, the value of
1559:
When combined with premultiplied alpha, pre-multiplication is done in linear space, prior to gamma compression. This results in the following formula:
1710:
2244:
1410:
1547:{\displaystyle C_{o}=\left({\frac {C_{a}^{\gamma }\alpha _{a}+C_{b}^{\gamma }\alpha _{b}(1-\alpha _{a})}{\alpha _{o}}}\right)^{1/\gamma }}
2564:
879:
1328:
1318:
The RGB values of typical digital images do not directly correspond to the physical light intensities, but are rather compressed by a
1971:
334:) from a consideration of choices in blending the colors of two pixels when their coverage is, conceptually, overlaid orthogonally:
2532:
2194:
1996:
2990:
2953:
2926:
2363:
783:, the RGB components represent the color of the object or pixel, disregarding its opacity. This is the method implied by the
2969:
2573:
245:
In a 2D image a color combination is stored for each picture element (pixel), often a combination of red, green and blue (
2039:
2693:
1797:
1709:
and AT-Vista/NU-Vista display adapters' high color graphic mode. This mode devotes 5 bits for every primary RGB color (
1684:
803:
99:
Although the most basic operation of combining two images is to put one over the other, there are many operations, or
1957:
1893:
2089:
2392:
2465:
303:
2557:
794:, the RGB components represent the emission of the object or pixel, and the alpha represents the occlusion. The
2816:
2617:
2527:
1730:
972:
Premultiplied alpha may also be used to allow regions of regular alpha blending (e.g. smoke) and regions with
38:
image with an alpha channel that falls off to zero at its base, where it is blended with the background color.
2941:
2931:
2821:
2640:
1008:
Emission with no occlusion cannot be represented in straight alpha. No conversion is available in this case.
980:
pipelines expose a "straight alpha" API surface, but converts them into premultiplied alpha for performance.
254:
17:
2936:
2801:
2741:
1090:
156:
2318:
1025:
257:
and the color in the pixel beneath will show through. A value of 1 means that the pixel is fully opaque.
2158:
Win2D uses straight alpha in its API surface, but premultiplied alpha for internal rendering operations.
1942:
Proceedings of the 11th annual conference on
Computer graphics and interactive techniques - SIGGRAPH '84
89:
In order to combine the picture elements of the images correctly, it is necessary to keep an associated
2729:
2550:
2274:
2142:
1862:
Proceedings of the 8th annual conference on
Computer graphics and interactive techniques - SIGGRAPH '81
966:
763:. The two use only the alpha channel of the second image and ignore the color components. In addition,
260:
With the existence of an alpha channel, it is possible to express compositing image operations using a
75:
1675:
Note that the alpha channel may or may not undergo gamma-correction, even when the color channels do.
2068:
1777:
1017:
1874:
54:
is the process of combining one image with a background to create the appearance of partial or full
2252:
1083:
1021:
2450:
716:
689:
662:
2415:
1381:
This transformation better utilizes the limited number of bits in the encoded image by choosing
2948:
2898:
2863:
2841:
2836:
1869:
1792:
1767:
1688:
1136:
748:
55:
1865:
1856:
1411:
961:
The most significant advantage of premultiplied alpha is that it allows for correct blending,
249:). When alpha compositing is in use, each pixel has an additional numeric value stored in its
2791:
2770:
2714:
1926:
1665:{\displaystyle C_{o}=\left(C_{a}^{\gamma }+C_{b}^{\gamma }(1-\alpha _{a})\right)^{1/\gamma }}
1384:
220:
200:
136:
1135:
While VP8/VP9 is widely supported with modern browsers, AV1 still has limited support. Only
2674:
2660:
2604:
1102:
635:
608:
581:
63:
2296:
1934:
8:
2806:
2734:
2622:
1827:
1802:
1762:
1694:
A similar effect can be achieved with a 1-bit alpha channel, as found in the 16-bit RGBA
2868:
2856:
2703:
2698:
2650:
2522:
2364:"Digital Audio Broadcasting (DAB); MOT SlideShow; User Application (pdf) Specification"
1963:
1899:
151:
91:
2220:
2198:
2918:
2811:
2796:
1953:
1889:
1787:
1747:
1702:
43:
2007:
1967:
2903:
2893:
2775:
2763:
1945:
1903:
1879:
1782:
1319:
985:
35:
973:
2724:
2589:
2581:
2479:
246:
59:
2077:
However, something interesting happens when we generate the next mipmap level...
2873:
1807:
1719:
can be used to simulate partial occlusion where only 1-bit alpha is available.
1699:
1036:
253:, with a value ranging from 0 to 1. A value of 0 means that the pixel is fully
112:
2440:
348:
operator can be accomplished by applying the following formula to each pixel:
2984:
2878:
2752:
2682:
2498:
2170:
2047:
1723:
962:
760:
132:
2883:
2846:
2831:
2826:
2746:
2687:
2120:
1066:
79:
1949:
1884:
2851:
2719:
2655:
1757:
1033:
272:, the most common compositing operation is to combine the images so that
128:
100:
67:
2523:
Compositing
Digital Images - Thomas Porter and Tom Duff (Original Paper)
2388:
2537:
1772:
1695:
116:
83:
1944:. Vol. 18. New York City, New York: ACM Press. pp. 253–259.
2533:
Understand
Compositing and Color extensions in SVG 1.2 in 30 minutes!
2480:"Gamma Correction vs. Premultiplied Pixels – Søren Sandmann Pedersen"
2340:"AV1 video format | Can I use... Support tables for HTML5, CSS3, etc"
62:(pixels) in separate passes or layers and then combine the resulting
2542:
338:
150:
is explained by Smith as follows: "We called it that because of the
30:
2709:
1930:
1857:"Merging and transformation of raster images for cartoon animation"
1752:
1722:
For some applications, a single alpha channel is not sufficient: a
140:
1401:
that better matches the non-linear human perception of luminance.
1016:
The most popular image formats that support the alpha channel are
944:{\displaystyle \alpha _{o}=\alpha _{a}+\alpha _{b}(1-\alpha _{a})}
2758:
2445:
1272:
1144:
1371:{\displaystyle C_{\text{encoded}}=C_{\text{linear}}^{1/\gamma }}
2888:
2645:
1716:
2416:"JPEG XL decoding support (image/jxl) in blink (tracking bug)"
2121:"To close to draw call (presentation on Pre-multiplied alpha)"
1308:
2908:
2594:
1864:. Vol. 15. New York City, New York: ACM Press. pp.
1706:
1111:
1002:
143:
introduced premultiplied alpha using a geometrical approach.
82:. Alpha blending is also used in 2D computer graphics to put
2632:
1300:
1208:
1186:
1118:
747:
operator is, in effect, the normal painting operation (see
71:
2339:
1011:
1250:
1229:
1165:
237:
in the formula is taken directly from A's alpha channel.
2266:
1304:
Alpha blending, not taking into account gamma correction
2221:"List of Video/Image Formats Supporting Alpha Channels"
1040:
have also been created for the creation of these BMPs.
2090:"TomF's Tech Blog - It's only pretending to be a wiki"
121:
New York
Institute of Technology Computer Graphics Lab
1568:
1416:
1387:
1331:
882:
806:
719:
692:
665:
638:
611:
584:
357:
223:
203:
159:
2310:
2094:
TomF's Tech Blog - It's only pretending to be a wiki
1245:
Browsers generally do not support GIF alpha layers.
294:, Porter and Duff defined the compositing operators
280:
appears in the background. This can be expressed as
2288:
1855:
1664:
1546:
1393:
1370:
943:
867:
759:operators are the alpha compositing equivalent of
732:
705:
678:
651:
624:
597:
567:
229:
209:
189:
111:The concept of an alpha channel was introduced by
2499:"Weighted Blended Order-Independent Transparency"
997:Assuming that the pixel color is expressed using
2982:
868:{\displaystyle C_{o}=C_{a}+C_{b}(1-\alpha _{a})}
770:
1713:) plus a remaining bit as the "alpha channel".
740:are the alpha values of the respective pixels.
2438:
2391:. World Wide Web Consortium. 14 January 2003.
2034:
2032:
2030:
2028:
2026:
2024:
2022:
2020:
1997:"Alpha and the History of Digital Compositing"
1994:
2558:
2496:
2413:
1678:
123:. Bruce A. Wallace derived the same straight
2297:"Current Status of H.265 (as at July 2008)"
2017:
1737:operator with a commutative approximation.
1139:-based browsers will display alpha layers.
2565:
2551:
2466:"What every coder should know about gamma"
1925:
2218:
1883:
1873:
1849:
1847:
2294:
2272:
2245:"Final Cut Pro 6 - Broad Format Support"
1307:
1299:
29:
2503:Journal of Computer Graphics Techniques
2497:McGuire, Morgan; Bavoil, Louis (2013).
2319:"The Preliminary Requirements for NGVC"
2275:"The First JCT-VC Meeting, Dresden, DE"
1853:
1012:Image formats supporting alpha channels
86:foreground elements over a background.
14:
2983:
2316:
2069:"Alpha Blending: To Pre or Not To Pre"
1921:
1919:
1917:
1915:
1913:
1844:
66:into a single, final image called the
2572:
2546:
2463:
2395:from the original on 7 September 2009
2100:from the original on 12 December 2017
989:argument is problematic as a result.
190:{\displaystyle \alpha A+(1-\alpha )B}
70:. Compositing is used extensively in
2970:List of computer graphics algorithms
2381:
2118:
1683:Although used for similar purposes,
152:classic linear interpolation formula
2631:
2538:Alpha Matting and Premultiplication
2414:@chromium.org, de... (2022-08-24).
1910:
1295:
24:
2464:Novak, John (September 21, 2016).
2040:"ALPHA COMPOSITING – Animationmet"
1803:Transparent videos in web browsers
25:
3002:
2516:
2439:Minute Physics (March 20, 2015).
787:operator in the previous section.
2453:from the original on 2021-11-22.
2219:Lambrecht, Jordan (2022-12-31).
337:
264:. For example, given two images
2490:
2472:
2457:
2432:
2407:
2356:
2332:
2237:
2212:
2187:
2163:
1977:from the original on 2011-04-29
1082:ProRes is the successor of the
135:model in 1981. A 1984 paper by
58:. It is often useful to render
2528:Image Compositing Fundamentals
2135:
2112:
2082:
2061:
1988:
1828:"Definition of alpha blending"
1820:
1731:order-independent transparency
1640:
1621:
1510:
1491:
1121:(codec video VP8, VP9, or AV1)
938:
919:
862:
843:
545:
526:
456:
437:
276:appears in the foreground and
240:
181:
169:
27:Operation in computer graphics
13:
1:
2927:3D computer graphics software
2130:them all down to one texture.
1995:Alvy Ray Smith (1995-08-15).
1814:
1798:Transparent color in palettes
1314:into account gamma correction
956:
771:Straight versus premultiplied
127:operator based on a physical
2991:Computer graphics algorithms
2742:Hidden-surface determination
2389:"SVG specification, "Color""
2197:. 2016-03-04. Archived from
1935:"Compositing digital images"
7:
2006:. p. 6. Archived from
1740:
992:
767:defines additive blending.
733:{\displaystyle \alpha _{b}}
706:{\displaystyle \alpha _{a}}
679:{\displaystyle \alpha _{o}}
318:(and the reverse operators
306:and is usually abbreviated
197:that uses the Greek letter
10:
3007:
2441:"Computer Color is Broken"
2225:Pixel Bakery Design Studio
1854:Wallace, Bruce A. (1981).
1679:Other transparency methods
106:
2962:
2917:
2784:
2673:
2603:
2580:
1778:Portable Network Graphics
1001:(non-premultiplied) RGBA
119:in the late 1970s at the
1160:Has largest HDR spread.
1084:Apple Intermediate Codec
2954:Vector graphics editors
2949:Raster graphics editors
2295:Jie Dong (2008-07-01).
2273:Jie Dong (2010-06-19).
1394:{\displaystyle \gamma }
798:operator then becomes:
230:{\displaystyle \alpha }
210:{\displaystyle \alpha }
76:computer-rendered image
2837:Checkerboard rendering
1793:Transparency (graphic)
1666:
1548:
1395:
1372:
1315:
1312:Alpha blending, taking
1305:
1289:Allows lossy and HDR.
1110:Intended successor to
974:additive blending mode
945:
869:
734:
707:
680:
653:
626:
599:
569:
302:(the phrase refers to
231:
211:
191:
39:
2792:Affine transformation
2771:Surface triangulation
2715:Anisotropic filtering
2317:Yu Liu (2009-04-15).
2143:"Premultiplied alpha"
1950:10.1145/800031.808606
1885:10.1145/800224.806813
1667:
1549:
1396:
1373:
1311:
1303:
946:
870:
735:
708:
681:
654:
652:{\displaystyle C_{b}}
627:
625:{\displaystyle C_{a}}
600:
598:{\displaystyle C_{o}}
570:
232:
212:
192:
33:
2484:ssp.impulsetrain.com
1733:methods replace the
1724:stained-glass window
1566:
1414:
1385:
1329:
1267:Based on CSS color.
1203:Supports animation.
880:
804:
717:
690:
663:
636:
609:
582:
424:
395:
355:
221:
201:
157:
146:The use of the term
2807:Collision detection
2735:Global illumination
2171:"Creating Textures"
2075:. 31 January 2013.
1763:Digital compositing
1620:
1602:
1480:
1452:
1367:
1261:All modern browsers
1239:All modern browsers
1176:All modern browsers
1129:All modern browsers
792:premultiplied alpha
749:Painter's algorithm
413:
381:
344:As an example, the
262:compositing algebra
2857:Scanline rendering
2651:Parallax scrolling
2641:Isometric graphics
2195:"Extended Formats"
2119:Trebilco, Damian.
1685:transparent colors
1662:
1606:
1588:
1544:
1466:
1438:
1391:
1368:
1345:
1316:
1306:
941:
865:
730:
703:
676:
649:
622:
595:
565:
563:
227:
207:
187:
40:
2978:
2977:
2919:Graphics software
2812:Planar projection
2797:Back-face culling
2669:
2668:
2613:Alpha compositing
2574:Computer graphics
2420:bugs.chromium.org
1788:Texture splatting
1748:Alpha to coverage
1703:image file format
1524:
1352:
1339:
1293:
1292:
1283:Moderate support
1067:Apple ProRes 4444
1046:File/Codec format
559:
384:
290:. In addition to
103:, that are used.
48:alpha compositing
44:computer graphics
16:(Redirected from
2998:
2904:Volume rendering
2776:Wire-frame model
2629:
2628:
2567:
2560:
2553:
2544:
2543:
2511:
2510:
2494:
2488:
2487:
2476:
2470:
2469:
2461:
2455:
2454:
2436:
2430:
2429:
2427:
2426:
2411:
2405:
2404:
2402:
2400:
2385:
2379:
2378:
2376:
2374:
2368:
2360:
2354:
2353:
2351:
2350:
2336:
2330:
2329:
2327:
2326:
2314:
2308:
2307:
2305:
2304:
2292:
2286:
2285:
2283:
2282:
2270:
2264:
2263:
2261:
2260:
2251:. Archived from
2241:
2235:
2234:
2232:
2231:
2216:
2210:
2209:
2207:
2206:
2191:
2185:
2184:
2182:
2181:
2167:
2161:
2160:
2155:
2153:
2147:Win2D for WinUI3
2139:
2133:
2132:
2116:
2110:
2109:
2107:
2105:
2086:
2080:
2079:
2073:NVIDIA Developer
2065:
2059:
2058:
2056:
2055:
2046:. Archived from
2044:animationmet.com
2036:
2015:
2014:
2012:
2001:
1992:
1986:
1985:
1983:
1982:
1976:
1939:
1923:
1908:
1907:
1887:
1877:
1859:
1851:
1842:
1841:
1839:
1838:
1824:
1783:RGBA color space
1671:
1669:
1668:
1663:
1661:
1660:
1656:
1647:
1643:
1639:
1638:
1619:
1614:
1601:
1596:
1578:
1577:
1554:
1551:
1550:
1545:
1543:
1542:
1538:
1529:
1525:
1523:
1522:
1513:
1509:
1508:
1490:
1489:
1479:
1474:
1462:
1461:
1451:
1446:
1436:
1426:
1425:
1400:
1398:
1397:
1392:
1377:
1375:
1374:
1369:
1366:
1362:
1353:
1350:
1341:
1340:
1337:
1320:gamma correction
1296:Gamma correction
1197:Moderate support
1043:
1042:
950:
948:
947:
942:
937:
936:
918:
917:
905:
904:
892:
891:
874:
872:
871:
866:
861:
860:
842:
841:
829:
828:
816:
815:
739:
737:
736:
731:
729:
728:
712:
710:
709:
704:
702:
701:
685:
683:
682:
677:
675:
674:
658:
656:
655:
650:
648:
647:
631:
629:
628:
623:
621:
620:
604:
602:
601:
596:
594:
593:
574:
572:
571:
566:
564:
560:
558:
557:
548:
544:
543:
525:
524:
515:
514:
502:
501:
492:
491:
481:
472:
471:
455:
454:
436:
435:
426:
425:
423:
422:
407:
406:
397:
396:
394:
393:
382:
371:
370:
341:
236:
234:
233:
228:
216:
214:
213:
208:
196:
194:
193:
188:
60:picture elements
21:
3006:
3005:
3001:
3000:
2999:
2997:
2996:
2995:
2981:
2980:
2979:
2974:
2958:
2913:
2780:
2725:Fluid animation
2665:
2627:
2599:
2590:Diffusion curve
2582:Vector graphics
2576:
2571:
2519:
2514:
2495:
2491:
2478:
2477:
2473:
2462:
2458:
2437:
2433:
2424:
2422:
2412:
2408:
2398:
2396:
2387:
2386:
2382:
2372:
2370:
2366:
2362:
2361:
2357:
2348:
2346:
2338:
2337:
2333:
2324:
2322:
2315:
2311:
2302:
2300:
2293:
2289:
2280:
2278:
2271:
2267:
2258:
2256:
2243:
2242:
2238:
2229:
2227:
2217:
2213:
2204:
2202:
2193:
2192:
2188:
2179:
2177:
2169:
2168:
2164:
2151:
2149:
2141:
2140:
2136:
2117:
2113:
2103:
2101:
2088:
2087:
2083:
2067:
2066:
2062:
2053:
2051:
2038:
2037:
2018:
2010:
1999:
1993:
1989:
1980:
1978:
1974:
1960:
1937:
1924:
1911:
1896:
1875:10.1.1.141.7875
1852:
1845:
1836:
1834:
1826:
1825:
1821:
1817:
1812:
1743:
1681:
1652:
1648:
1634:
1630:
1615:
1610:
1597:
1592:
1587:
1583:
1582:
1573:
1569:
1567:
1564:
1563:
1534:
1530:
1518:
1514:
1504:
1500:
1485:
1481:
1475:
1470:
1457:
1453:
1447:
1442:
1437:
1435:
1431:
1430:
1421:
1417:
1415:
1412:
1386:
1383:
1382:
1358:
1354:
1349:
1336:
1332:
1330:
1327:
1326:
1313:
1298:
1055:Browser support
1014:
995:
959:
932:
928:
913:
909:
900:
896:
887:
883:
881:
878:
877:
856:
852:
837:
833:
824:
820:
811:
807:
805:
802:
801:
773:
724:
720:
718:
715:
714:
697:
693:
691:
688:
687:
670:
666:
664:
661:
660:
643:
639:
637:
634:
633:
616:
612:
610:
607:
606:
589:
585:
583:
580:
579:
562:
561:
553:
549:
539:
535:
520:
516:
510:
506:
497:
493:
487:
483:
482:
480:
473:
467:
463:
460:
459:
450:
446:
431:
427:
418:
414:
412:
411:
402:
398:
389:
385:
380:
379:
372:
366:
362:
358:
356:
353:
352:
304:holdout matting
243:
222:
219:
218:
202:
199:
198:
158:
155:
154:
109:
74:when combining
28:
23:
22:
15:
12:
11:
5:
3004:
2994:
2993:
2976:
2975:
2973:
2972:
2966:
2964:
2960:
2959:
2957:
2956:
2951:
2946:
2945:
2944:
2939:
2934:
2923:
2921:
2915:
2914:
2912:
2911:
2906:
2901:
2896:
2891:
2886:
2881:
2876:
2874:Shadow mapping
2871:
2866:
2861:
2860:
2859:
2854:
2849:
2844:
2839:
2834:
2829:
2819:
2814:
2809:
2804:
2799:
2794:
2788:
2786:
2782:
2781:
2779:
2778:
2773:
2768:
2767:
2766:
2756:
2749:
2744:
2739:
2738:
2737:
2727:
2722:
2717:
2712:
2707:
2701:
2696:
2690:
2685:
2679:
2677:
2671:
2670:
2667:
2666:
2664:
2663:
2658:
2653:
2648:
2643:
2637:
2635:
2626:
2625:
2620:
2615:
2609:
2607:
2601:
2600:
2598:
2597:
2592:
2586:
2584:
2578:
2577:
2570:
2569:
2562:
2555:
2547:
2541:
2540:
2535:
2530:
2525:
2518:
2517:External links
2515:
2513:
2512:
2489:
2471:
2456:
2431:
2406:
2380:
2355:
2331:
2309:
2287:
2265:
2236:
2211:
2186:
2162:
2134:
2111:
2081:
2060:
2016:
2013:on 2021-10-25.
1987:
1958:
1927:Porter, Thomas
1909:
1894:
1843:
1818:
1816:
1813:
1811:
1810:
1808:Truevision TGA
1805:
1800:
1795:
1790:
1785:
1780:
1775:
1770:
1765:
1760:
1755:
1750:
1744:
1742:
1739:
1700:Truevision TGA
1680:
1677:
1673:
1672:
1659:
1655:
1651:
1646:
1642:
1637:
1633:
1629:
1626:
1623:
1618:
1613:
1609:
1605:
1600:
1595:
1591:
1586:
1581:
1576:
1572:
1557:
1556:
1541:
1537:
1533:
1528:
1521:
1517:
1512:
1507:
1503:
1499:
1496:
1493:
1488:
1484:
1478:
1473:
1469:
1465:
1460:
1456:
1450:
1445:
1441:
1434:
1429:
1424:
1420:
1390:
1379:
1378:
1365:
1361:
1357:
1348:
1344:
1335:
1297:
1294:
1291:
1290:
1287:
1284:
1281:
1278:
1275:
1269:
1268:
1265:
1262:
1259:
1256:
1253:
1247:
1246:
1243:
1240:
1237:
1235:
1232:
1226:
1225:
1223:
1220:
1217:
1214:
1211:
1205:
1204:
1201:
1198:
1195:
1192:
1189:
1183:
1182:
1180:
1177:
1174:
1171:
1168:
1162:
1161:
1158:
1155:
1152:
1150:
1147:
1141:
1140:
1133:
1130:
1127:
1125:
1122:
1115:
1114:
1108:
1105:
1099:
1097:
1094:
1087:
1086:
1080:
1077:
1074:
1072:
1069:
1063:
1062:
1059:
1056:
1053:
1050:
1049:Maximum Depth
1047:
1013:
1010:
994:
991:
958:
955:
954:
953:
952:
951:
940:
935:
931:
927:
924:
921:
916:
912:
908:
903:
899:
895:
890:
886:
875:
864:
859:
855:
851:
848:
845:
840:
836:
832:
827:
823:
819:
814:
810:
788:
781:straight alpha
772:
769:
727:
723:
700:
696:
673:
669:
646:
642:
619:
615:
592:
588:
576:
575:
556:
552:
547:
542:
538:
534:
531:
528:
523:
519:
513:
509:
505:
500:
496:
490:
486:
479:
476:
474:
470:
466:
462:
461:
458:
453:
449:
445:
442:
439:
434:
430:
421:
417:
410:
405:
401:
392:
388:
378:
375:
373:
369:
365:
361:
360:
242:
239:
226:
206:
186:
183:
180:
177:
174:
171:
168:
165:
162:
113:Alvy Ray Smith
108:
105:
78:elements with
52:alpha blending
36:color spectrum
26:
9:
6:
4:
3:
2:
3003:
2992:
2989:
2988:
2986:
2971:
2968:
2967:
2965:
2961:
2955:
2952:
2950:
2947:
2943:
2940:
2938:
2935:
2933:
2930:
2929:
2928:
2925:
2924:
2922:
2920:
2916:
2910:
2907:
2905:
2902:
2900:
2897:
2895:
2892:
2890:
2887:
2885:
2882:
2880:
2879:Shadow volume
2877:
2875:
2872:
2870:
2867:
2865:
2862:
2858:
2855:
2853:
2850:
2848:
2845:
2843:
2840:
2838:
2835:
2833:
2830:
2828:
2825:
2824:
2823:
2820:
2818:
2815:
2813:
2810:
2808:
2805:
2803:
2800:
2798:
2795:
2793:
2790:
2789:
2787:
2783:
2777:
2774:
2772:
2769:
2765:
2762:
2761:
2760:
2757:
2754:
2753:Triangle mesh
2750:
2748:
2745:
2743:
2740:
2736:
2733:
2732:
2731:
2728:
2726:
2723:
2721:
2718:
2716:
2713:
2711:
2708:
2705:
2702:
2700:
2697:
2695:
2691:
2689:
2686:
2684:
2683:3D projection
2681:
2680:
2678:
2676:
2672:
2662:
2659:
2657:
2654:
2652:
2649:
2647:
2644:
2642:
2639:
2638:
2636:
2634:
2630:
2624:
2623:Text-to-image
2621:
2619:
2616:
2614:
2611:
2610:
2608:
2606:
2602:
2596:
2593:
2591:
2588:
2587:
2585:
2583:
2579:
2575:
2568:
2563:
2561:
2556:
2554:
2549:
2548:
2545:
2539:
2536:
2534:
2531:
2529:
2526:
2524:
2521:
2520:
2509:(2): 122–141.
2508:
2504:
2500:
2493:
2485:
2481:
2475:
2467:
2460:
2452:
2448:
2447:
2442:
2435:
2421:
2417:
2410:
2394:
2390:
2384:
2365:
2359:
2345:
2341:
2335:
2320:
2313:
2298:
2291:
2276:
2269:
2255:on 2011-06-08
2254:
2250:
2246:
2240:
2226:
2222:
2215:
2201:on 2016-03-04
2200:
2196:
2190:
2176:
2172:
2166:
2159:
2148:
2144:
2138:
2131:
2126:
2122:
2115:
2099:
2095:
2091:
2085:
2078:
2074:
2070:
2064:
2050:on 2019-09-25
2049:
2045:
2041:
2035:
2033:
2031:
2029:
2027:
2025:
2023:
2021:
2009:
2005:
1998:
1991:
1973:
1969:
1965:
1961:
1959:9780897911382
1955:
1951:
1947:
1943:
1936:
1933:(July 1984).
1932:
1928:
1922:
1920:
1918:
1916:
1914:
1905:
1901:
1897:
1895:0-89791-045-1
1891:
1886:
1881:
1876:
1871:
1867:
1863:
1858:
1850:
1848:
1833:
1829:
1823:
1819:
1809:
1806:
1804:
1801:
1799:
1796:
1794:
1791:
1789:
1786:
1784:
1781:
1779:
1776:
1774:
1771:
1769:
1766:
1764:
1761:
1759:
1756:
1754:
1751:
1749:
1746:
1745:
1738:
1736:
1732:
1727:
1725:
1720:
1718:
1714:
1712:
1708:
1704:
1701:
1697:
1692:
1690:
1686:
1676:
1657:
1653:
1649:
1644:
1635:
1631:
1627:
1624:
1616:
1611:
1607:
1603:
1598:
1593:
1589:
1584:
1579:
1574:
1570:
1562:
1561:
1560:
1555:
1553:
1539:
1535:
1531:
1526:
1519:
1515:
1505:
1501:
1497:
1494:
1486:
1482:
1476:
1471:
1467:
1463:
1458:
1454:
1448:
1443:
1439:
1432:
1427:
1422:
1418:
1408:
1407:
1406:
1402:
1388:
1363:
1359:
1355:
1346:
1342:
1333:
1325:
1324:
1323:
1321:
1310:
1302:
1288:
1286:Image (.jxl)
1285:
1282:
1279:
1276:
1274:
1271:
1270:
1266:
1263:
1260:
1257:
1254:
1252:
1249:
1248:
1244:
1241:
1238:
1236:
1233:
1231:
1228:
1227:
1224:
1222:Image (.tiff)
1221:
1218:
1215:
1212:
1210:
1207:
1206:
1202:
1200:Image (.apng)
1199:
1196:
1193:
1190:
1188:
1185:
1184:
1181:
1178:
1175:
1172:
1169:
1167:
1164:
1163:
1159:
1156:
1153:
1151:
1148:
1146:
1143:
1142:
1138:
1134:
1132:Video (.webm)
1131:
1128:
1126:
1123:
1120:
1117:
1116:
1113:
1109:
1107:Video (.hevc)
1106:
1104:
1100:
1098:
1095:
1092:
1089:
1088:
1085:
1081:
1078:
1075:
1073:
1070:
1068:
1065:
1064:
1060:
1057:
1054:
1051:
1048:
1045:
1044:
1041:
1038:
1035:
1030:
1027:
1023:
1019:
1009:
1006:
1004:
1000:
990:
987:
981:
977:
975:
970:
968:
964:
963:interpolation
933:
929:
925:
922:
914:
910:
906:
901:
897:
893:
888:
884:
876:
857:
853:
849:
846:
838:
834:
830:
825:
821:
817:
812:
808:
800:
799:
797:
793:
789:
786:
782:
778:
777:
776:
768:
766:
762:
758:
754:
750:
746:
741:
725:
721:
698:
694:
671:
667:
644:
640:
617:
613:
590:
586:
554:
550:
540:
536:
532:
529:
521:
517:
511:
507:
503:
498:
494:
488:
484:
477:
475:
468:
464:
451:
447:
443:
440:
432:
428:
419:
415:
408:
403:
399:
390:
386:
376:
374:
367:
363:
351:
350:
349:
347:
342:
340:
335:
333:
329:
325:
321:
317:
313:
309:
305:
301:
297:
293:
289:
286:
283:
279:
275:
271:
267:
263:
258:
256:
252:
251:alpha channel
248:
238:
224:
204:
184:
178:
175:
172:
166:
163:
160:
153:
149:
144:
142:
138:
137:Thomas Porter
134:
133:transmittance
130:
126:
122:
118:
114:
104:
102:
97:
94:
93:
87:
85:
81:
77:
73:
69:
65:
61:
57:
53:
49:
45:
37:
32:
19:
18:Alpha channel
2884:Shear matrix
2847:Path tracing
2832:Cone tracing
2827:Beam tracing
2747:Polygon mesh
2688:3D rendering
2612:
2506:
2502:
2492:
2483:
2474:
2459:
2444:
2434:
2423:. Retrieved
2419:
2409:
2397:. Retrieved
2383:
2371:. Retrieved
2358:
2347:. Retrieved
2343:
2334:
2323:. Retrieved
2312:
2301:. Retrieved
2290:
2279:. Retrieved
2268:
2257:. Retrieved
2253:the original
2248:
2239:
2228:. Retrieved
2224:
2214:
2203:. Retrieved
2199:the original
2189:
2178:. Retrieved
2175:www.echos.ch
2174:
2165:
2157:
2150:. Retrieved
2146:
2137:
2128:
2124:
2114:
2102:. Retrieved
2093:
2084:
2076:
2072:
2063:
2052:. Retrieved
2048:the original
2043:
2008:the original
2003:
1990:
1979:. Retrieved
1941:
1861:
1835:. Retrieved
1831:
1822:
1734:
1728:
1721:
1715:
1705:and related
1698:mode of the
1693:
1682:
1674:
1558:
1409:
1403:
1380:
1317:
1264:Image (.svg)
1242:Image (.gif)
1179:Image (.png)
1157:Image (.exr)
1079:Video (.mov)
1031:
1015:
1007:
998:
996:
982:
978:
971:
960:
795:
791:
784:
780:
774:
764:
756:
752:
744:
742:
577:
345:
343:
336:
331:
327:
323:
319:
315:
311:
307:
299:
295:
291:
287:
284:
281:
277:
273:
269:
265:
261:
259:
250:
244:
147:
145:
124:
110:
98:
90:
88:
80:live footage
56:transparency
51:
47:
41:
2899:Translation
2852:Ray casting
2842:Ray tracing
2720:Cel shading
2694:Image-based
2675:3D graphics
2656:Ray casting
2605:2D graphics
2344:caniuse.com
2004:alvyray.com
1768:Image masks
1758:Blend modes
1689:image masks
1101:Limited to
1034:file format
300:held out by
255:transparent
241:Description
129:reflectance
101:blend modes
2963:Algorithms
2817:Reflection
2425:2024-08-13
2349:2023-05-25
2325:2024-08-13
2321:. H265.net
2303:2024-08-13
2299:. H265.net
2281:2024-08-13
2277:. H265.net
2259:2024-08-13
2230:2023-05-25
2205:2023-05-25
2180:2023-05-25
2054:2019-09-25
1981:2019-03-11
1837:2021-08-07
1815:References
1773:Magic Pink
1711:15-bit RGB
1696:high color
1322:function:
1058:Media type
957:Comparison
117:Ed Catmull
84:rasterized
2942:rendering
2932:animation
2822:Rendering
2399:13 August
2373:13 August
2249:apple.com
1931:Duff, Tom
1870:CiteSeerX
1717:Dithering
1658:γ
1632:α
1628:−
1617:γ
1599:γ
1540:γ
1516:α
1502:α
1498:−
1483:α
1477:γ
1455:α
1449:γ
1389:γ
1364:γ
967:filtering
930:α
926:−
911:α
898:α
885:α
854:α
850:−
722:α
695:α
668:α
551:α
537:α
533:−
518:α
495:α
448:α
444:−
429:α
400:α
364:α
225:α
205:α
179:α
176:−
161:α
68:composite
64:2D images
2985:Category
2937:modeling
2864:Rotation
2802:Clipping
2785:Concepts
2764:Deferred
2730:Lighting
2710:Aliasing
2704:Unbiased
2699:Spectral
2451:Archived
2393:Archived
2098:Archived
1972:Archived
1968:18663039
1753:Bit blit
1741:See also
1258:straight
1194:straight
1173:straight
1137:Chromium
999:straight
993:Examples
986:compress
761:clipping
141:Tom Duff
2869:Scaling
2759:Shading
2446:YouTube
2152:30 June
1904:1147910
1866:253–262
1338:encoded
1277:32-bit
1273:JPEG XL
1255:32-bit
1213:32-bit
1191:24-bit
1170:16-bit
1149:32-bit
1145:OpenEXR
1124:12-bit
1096:10-bit
1093:/ h.265
1071:16-bit
751:). The
107:History
2889:Shader
2661:Skybox
2646:Mode 7
2618:Layers
2369:. ETSI
2125:GitHub
1966:
1956:
1902:
1892:
1872:
1351:linear
1234:8-bit
1103:Safari
1061:Notes
1003:tuples
965:, and
383:
330:, and
314:, and
2909:Voxel
2894:Texel
2595:Pixel
2367:(PDF)
2104:8 May
2011:(PDF)
2000:(PDF)
1975:(PDF)
1964:S2CID
1938:(PDF)
1900:S2CID
1832:PCMAG
1729:Some
1707:TARGA
1280:both
1112:H.264
790:With
779:With
578:Here
332:ratop
320:rover
148:alpha
92:matte
2633:2.5D
2401:2024
2375:2024
2154:2023
2106:2018
1954:ISBN
1890:ISBN
1735:over
1687:and
1219:None
1216:both
1209:TIFF
1187:APNG
1154:None
1119:WebM
1091:HEVC
1076:None
1052:Type
1032:The
1022:TIFF
1020:and
796:over
785:over
765:plus
755:and
745:over
743:The
713:and
632:and
346:over
328:rout
312:atop
292:over
285:over
268:and
139:and
125:over
115:and
72:film
1946:doi
1880:doi
1251:SVG
1230:GIF
1166:PNG
1037:BMP
1026:GIF
1018:PNG
757:out
324:rin
316:xor
310:),
308:out
247:RGB
50:or
42:In
2987::
2505:.
2501:.
2482:.
2449:.
2443:.
2418:.
2342:.
2247:.
2223:.
2173:.
2156:.
2145:.
2127:.
2123:.
2096:.
2092:.
2071:.
2042:.
2019:^
2002:.
1970:.
1962:.
1952:.
1940:.
1929:;
1912:^
1898:.
1888:.
1878:.
1868:.
1860:.
1846:^
1830:.
1024:.
753:in
686:,
605:,
326:,
322:,
298:,
296:in
46:,
34:A
2755:)
2751:(
2706:)
2692:(
2566:e
2559:t
2552:v
2507:2
2486:.
2468:.
2428:.
2403:.
2377:.
2352:.
2328:.
2306:.
2284:.
2262:.
2233:.
2208:.
2183:.
2108:.
2057:.
1984:.
1948::
1906:.
1882::
1840:.
1654:/
1650:1
1645:)
1641:)
1636:a
1625:1
1622:(
1612:b
1608:C
1604:+
1594:a
1590:C
1585:(
1580:=
1575:o
1571:C
1536:/
1532:1
1527:)
1520:o
1511:)
1506:a
1495:1
1492:(
1487:b
1472:b
1468:C
1464:+
1459:a
1444:a
1440:C
1433:(
1428:=
1423:o
1419:C
1360:/
1356:1
1347:C
1343:=
1334:C
939:)
934:a
923:1
920:(
915:b
907:+
902:a
894:=
889:o
863:)
858:a
847:1
844:(
839:b
835:C
831:+
826:a
822:C
818:=
813:o
809:C
726:b
699:a
672:o
645:b
641:C
618:a
614:C
591:o
587:C
555:o
546:)
541:a
530:1
527:(
522:b
512:b
508:C
504:+
499:a
489:a
485:C
478:=
469:o
465:C
457:)
452:a
441:1
438:(
433:b
420:b
416:C
409:+
404:a
391:a
387:C
377:=
368:o
288:B
282:A
278:B
274:A
270:B
266:A
185:B
182:)
173:1
170:(
167:+
164:A
131:/
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.