132:
93:
207:
231:
52:
783:. Vertex shaders are the oldest type of 3D shader, generally making modifications on a per-vertex basis. Newer geometry shaders can generate new vertices from within the shader. Tessellation shaders are the newest 3D shaders; they act on batches of vertices all at once to add detail—such as subdividing a model into smaller groups of triangles or other primitives at runtime, to improve things like
851:. A typical real-world example of the benefits of geometry shaders would be automatic mesh complexity modification. A series of line strips representing control points for a curve are passed to the geometry shader and depending on the complexity required the shader can automatically generate extra lines each of which provides a better approximation of a curve.
903:. These mesh shaders allow the GPU to handle more complex algorithms, offloading more work from the CPU to the GPU, and in algorithm intense rendering, increasing the frame rate of or number of triangles in a scene by an order of magnitude. Intel announced that Intel Arc Alchemist GPUs shipping in Q1 2022 will support mesh shaders.
864:
scaling. This allows objects close to the camera to have fine detail, while further away ones can have more coarse meshes, yet seem comparable in quality. It also can drastically reduce required mesh bandwidth by allowing meshes to be refined once inside the shader units instead of downsampling very
859:
As of OpenGL 4.0 and Direct3D 11, a new shader class called a tessellation shader has been added. It adds two new shader stages to the traditional model: tessellation control shaders (also known as hull shaders) and tessellation evaluation shaders (also known as Domain
Shaders), which together allow
831:
Geometry shader programs are executed after vertex shaders. They take as input a whole primitive, possibly with adjacency information. For example, when operating on triangles, the three vertices are the geometry shader's input. The shader can then emit zero or more primitives, which are rasterized
714:
are active. In 3D graphics, a pixel shader alone cannot produce some kinds of complex effects because it operates only on a single fragment, without knowledge of a scene's geometry (i.e. vertex data). However, pixel shaders do have knowledge of the screen coordinate being drawn, and can sample the
1128:
of connected nodes that allow users to direct various textures, maps, and mathematical functions into output values like the diffuse color, the specular color and intensity, roughness/metalness, height, normal, and so on. Automatic compilation then turns the graph into an actual, compiled shader.
803:
given to the graphics processor. The purpose is to transform each vertex's 3D position in virtual space to the 2D coordinate at which it appears on the screen (as well as a depth value for the Z-buffer). Vertex shaders can manipulate properties such as position, color and texture coordinates, but
222:, and was one of the first computer shading models developed after the basic flat shader, greatly enhancing the appearance of curved surfaces in renders. Shaders are most commonly used to produce lit and shadowed areas in the rendering of
887:
in 2018 which are also modelled after compute shaders. Nvidia Turing is the world's first GPU microarchitecture that supports mesh shading through DirectX 12 Ultimate API, several months before Ampere RTX 30 series was released.
242:). The unaltered, unshaded image is on the left, and the same image has a shader applied on the right. This shader works by replacing all light areas of the image with white, and all dark areas with a brightly colored texture.
860:
for simpler meshes to be subdivided into finer meshes at run-time according to a mathematical function. The function can be related to a variety of variables, most notably the distance from the viewing camera to allow active
631:
There are three types of shaders in common use (pixel, vertex, and geometry shaders), with several more recently added. While older graphics cards utilize separate processing units for each shader type, newer cards feature
619:
The graphic pipeline uses these steps in order to transform three-dimensional (or two-dimensional) data into useful two-dimensional data for displaying. In general, this is a large pixel matrix or "
1029:
Shaders are written to apply transformations to a large set of elements at a time, for example, to each pixel in an area of the screen, or for every vertex of a model. This is well suited to
560:); thus one vertex in, one (updated) vertex out. Each vertex is then rendered as a series of pixels onto a surface (block of memory) that will eventually be sent to the screen.
865:
complex ones from memory. Some algorithms can upsample any arbitrary mesh, while others allow for "hinting" in meshes to dictate the most characteristic vertices and edges.
820:
Geometry shaders were introduced in Direct3D 10 and OpenGL 3.2; formerly available in OpenGL 2.0+ with the use of extensions. This type of shader can generate new graphics
686:
as a color value; more complex shaders with multiple inputs/outputs are also possible. Pixel shaders range from simply always outputting the same color, to applying a
715:
screen and nearby pixels if the contents of the entire screen are passed as a texture to the shader. This technique can enable a wide variety of two-dimensional
293:
1121:
804:
cannot create new vertices. The output of the vertex shader goes to the next stage in the pipeline, which is either a geometry shader if present, or the
1588:
1554:
602:
1562:
1520:
880:
added support for a new shader stage—primitive shaders—somewhat akin to compute shaders with access to the data necessary to process geometry.
512:
were quickly introduced once developers realized the power of shaders. The first video card with a programmable pixel shader was the Nvidia
1687:
563:
Shaders replace a section of the graphics hardware typically called the Fixed
Function Pipeline (FFP), so-called because it performs
1323:
808:. Vertex shaders can enable powerful control over the details of position, movement, lighting, and color in any scene involving
636:
which are capable of executing any type of shader. This allows graphics cards to make more efficient use of processing power.
588:
If a geometry shader is in the graphics processing unit and active, some changes of the geometries in the scene are performed.
2076:
2049:
2092:
1696:
861:
1816:
1446:
1337:
1630:
1604:
1578:
1536:
1419:
1233:
1168:
193:
175:
153:
79:
567:
and texture mapping in a hard-coded manner. Shaders provide a programmable alternative to this hard-coded approach.
146:
1380:"DirectX 12 Ultimate Game Ready Driver Released; Also Includes Support for 9 New G-SYNC Compatible Gaming Monitors"
1379:
840:
557:
1680:
592:
389:
to produce a range of effects. Beyond simple lighting models, more complex uses of shaders include: altering the
1218:
1939:
1740:
611:
The depth test is performed; fragments that pass will get written to the screen and might get blended into the
1464:
1017:. They may be used in graphics pipelines e.g. for additional stages in animation or lighting algorithms (e.g.
2064:
2054:
1944:
1763:
300:
271:
2059:
1924:
1864:
671:
591:
If a tessellation shader is in the graphics processing unit and active, the geometries in the scene can be
17:
1491:
1089:
303:
effects on graphics hardware with a high degree of flexibility. Most shaders are coded for (and run on) a
1393:
740:
649:
368:
360:
1068:
The language in which shaders are programmed depends on the target environment. The official OpenGL and
1021:). Some rendering APIs allow compute shaders to easily share data resources with the graphics pipeline.
1852:
1673:
1265:
896:
884:
800:
736:
564:
533:
382:
356:
102:
1279:
1081:
824:, such as points, lines, and triangles, from those primitives that were sent to the beginning of the
751:
always require a 3D scene. For instance, a pixel shader is the only kind of shader that can act as a
678:
and other attributes of each "fragment": a unit of rendering work affecting at most a single output
1351:
716:
489:
378:
304:
140:
1651:
1084:, a third-party shading language which outputs both OpenGL and Direct3D shaders, was developed by
1073:
1018:
316:
65:
1646:
1365:
520:
were introduced with Direct3D 10 and OpenGL 3.2. Eventually, graphics hardware evolved toward a
2071:
2021:
1986:
1964:
1959:
1305:
1124:
that can create shaders without the need for actual code; the user is instead presented with a
911:
799:
Vertex shaders are the most established and common kind of 3D shader and are run once for each
157:
1914:
1893:
1837:
1041:
289:
1088:; however since 2012 it has been deprecated. Apple released its own shading language called
1797:
1783:
1727:
1053:
821:
752:
521:
582:
programs) and geometry data to the graphics processing unit, located on the graphics card.
284:. Shaders have evolved to perform a variety of specialized functions in computer graphics
8:
1929:
1857:
1745:
1660:
1324:"Radeon RX Vega Revealed: AMD promises 4K gaming performance for $ 499 - Trusted Reviews"
1117:
1109:
553:
482:
442:
418:
779:
or other geometry but may also access the colors and textures used to draw the model or
109:
Please help update this article to reflect recent events or newly available information.
1991:
1979:
1826:
1821:
1773:
1550:
1030:
919:
699:
493:
410:
312:
235:
2041:
1934:
1919:
1735:
1626:
1619:
1600:
1574:
1567:
1532:
1525:
1034:
900:
877:
825:
744:
571:
549:
406:
348:
247:
2113:
2026:
2016:
1898:
1886:
1173:
1158:
1049:
1013:
are not limited to graphics applications, but use the same execution resources for
995:
579:
517:
458:
255:
1193:
1847:
1712:
1704:
1093:
541:
285:
219:
206:
1996:
1546:
1153:
1125:
1010:
955:
748:
724:
645:
633:
509:
454:
422:
328:
38:
31:
2107:
2001:
1875:
1805:
1614:
1469:
1113:
971:
923:
844:
764:
720:
711:
544:, colors, etc.) of a vertex, while pixel shaders describe the traits (color,
505:
434:
320:
215:
1527:
The RenderMan
Companion: A Programmer's Guide to Realistic Computer Graphics
839:
Typical uses of a geometry shader include point sprite generation, geometry
2006:
1969:
1954:
1949:
1869:
1810:
1592:
987:
927:
833:
780:
760:
756:
703:
691:
620:
612:
438:
394:
340:
324:
234:
Another use of shaders is for special effects, even on 2D images, (e.g., a
211:
1447:"Intel Architecture Day 2021: A Sneak Peek At The Xe-HPG GPU Architecture"
1974:
1842:
1778:
1044:
for rendering, taking the shaders as arguments, and providing a specific
979:
943:
707:
659:
545:
462:
450:
430:
414:
402:
386:
223:
71:
1597:
The Cg
Tutorial: The Definitive Guide to Programmable Real-Time Graphics
1292:
30:
This article is about the kind of computer program. For other uses, see
1558:
1105:
1057:
991:
939:
805:
728:
504:
began to support shaders. The first shader-capable GPUs only supported
446:
398:
375:
344:
230:
1069:
963:
915:
513:
466:
364:
1665:
1076:, also known as GLSL, and the official Direct3D shading language is
788:
598:
The calculated geometry is triangulated (subdivided into triangles).
1832:
1045:
967:
874:
848:
809:
776:
706:
and other phenomena. They can alter the depth of the fragment (for
687:
501:
371:
or textures introduced by the computer program calling the shader.
275:
263:
552:
value) of a pixel. A vertex shader is called for each vertex in a
1881:
1251:
983:
695:
532:
Shaders are simple programs that describe the traits of either a
280:
1768:
1143:
1085:
975:
935:
892:
497:
239:
477:
This use of the term "shader" was introduced to the public by
363:
used to construct a final rendered image can be altered using
2031:
1717:
1163:
1037:
to facilitate this, vastly improving computation throughput.
1014:
784:
683:
679:
675:
655:
654:
in the field of computer graphics. They modify attributes of
608:
Fragment quads are modified according to the fragment shader.
537:
478:
426:
352:
332:
327:
functions; with shaders, customized effects can be used. The
267:
259:
1234:"From Voodoo to GeForce: The Awesome History of 3D Graphics"
605:(one fragment quad is a 2 Ă— 2 fragment primitive).
1755:
1148:
1138:
1077:
999:
931:
899:
microarchitectures which both support mesh shading through
1545:
662:. Currently the only type of 2D shader is a pixel shader.
959:
390:
336:
682:. The simplest kinds of pixel shaders output one screen
585:
Within the vertex shader, the geometry is transformed.
294:
general-purpose computing on graphics processing units
367:
defined in a shader, and can be modified by external
540:. Vertex shaders describe the attributes (position,
27:
Type of program in a graphical processing unit (GPU)
1618:
1566:
1524:
1656:HLSL Tutorial using DirectX with much sample code
1420:"Realistic Lighting in Justice with Mesh Shading"
1338:"The curtain comes up on AMD's Vega architecture"
1040:A programming model with shaders is similar to a
883:Nvidia introduced mesh and task shaders with its
485:Specification, originally published in May 1988.
218:on the right. Phong shading is an improvement on
105:may be compromised due to out-of-date information
2105:
1465:"Vulkan Ray Tracing Final Specification Release"
307:(GPU), though this is not a strict requirement.
1587:
1231:
1681:
1569:Texturing and modeling: a procedural approach
868:
710:), or output more than one color if multiple
1048:between intermediate results, enabling both
1033:, and most modern GPUs have multiple shader
832:and their fragments ultimately passed to a
80:Learn how and when to remove these messages
1688:
1674:
847:extrusion, and single pass rendering to a
258:that calculates the appropriate levels of
1306:"Pipeline Stages (Direct3D 10) (Windows)"
319:of the past that only allowed for common
194:Learn how and when to remove this message
176:Learn how and when to remove this message
658:. 2D shaders may take part in rendering
229:
205:
139:This article includes a list of general
1519:
1219:"The RenderMan Interface Specification"
854:
731:. Pixel shaders may also be applied in
14:
2106:
1024:
906:
1695:
1669:
1492:"NNAPI Migration Guide | Android NDK"
1366:"Introduction to Turing Mesh Shaders"
1352:"NVIDIA Turing Architecture In-Depth"
1232:Lillypublished, Paul (May 19, 2009).
1099:
735:stages to any two-dimensional images—
578:The CPU sends instructions (compiled
210:An example of two kinds of shadings:
2093:List of computer graphics algorithms
1652:Riemer's DirectX & HLSL Tutorial
1613:
1252:"ShaderWorks' update - DirectX Blog"
954:Tensor shaders may be integrated in
125:
86:
45:
1754:
1052:(across pixels, vertices etc.) and
815:
24:
1513:
1005:
962:. Tensor shaders are supported by
465:effects such as those seen in the
315:, which has mostly superseded the
145:it lacks sufficient corresponding
25:
2125:
1640:
1444:
1295:. Retrieved on December 21, 2011.
1266:"GLSL Tutorial – Fragment Shader"
1169:List of common shading algorithms
949:
891:In 2020, AMD and Nvidia released
794:
61:This article has multiple issues.
1647:OpenGL geometry shader extension
1394:"Announcing DirectX 12 Ultimate"
665:
130:
91:
50:
1625:. Addison-Wesley Professional.
1599:. Addison-Wesley Professional.
1484:
1457:
1438:
1412:
1386:
1372:
1358:
1344:
1330:
1280:"GLSL Tutorial – Vertex Shader"
601:Triangles are broken down into
69:or discuss these issues on the
1316:
1298:
1286:
1272:
1258:
1244:
1225:
1211:
1186:
1108:development platforms such as
1063:
791:, or change other attributes.
311:are used to program the GPU's
299:Traditional shaders calculate
13:
1:
2050:3D computer graphics software
1661:Pipeline Stages (Direct3D 10)
1179:
770:
670:Pixel shaders, also known as
639:
1865:Hidden-surface determination
1240:– via www.pcgamer.com.
1056:(between stages). (see also
7:
1132:
449:(for so-called "bluescreen/
374:Shaders are used widely in
10:
2130:
1078:High Level Shader Language
869:Primitive and Mesh shaders
516:(NV20), released in 2001.
481:with version 3.0 of their
472:
383:computer-generated imagery
29:
2085:
2040:
1907:
1796:
1726:
1703:
914:shaders are supported by
527:
490:graphics processing units
1293:Geometry Shader - OpenGL
885:Turing microarchitecture
626:
492:evolved, major graphics
305:graphics processing unit
2077:Vector graphics editors
2072:Raster graphics editors
1621:OpenGL Shading Language
1194:"LearnOpenGL - Shaders"
1074:OpenGL Shading Language
1019:tiled forward rendering
409:of an image; producing
317:fixed-function pipeline
160:more precise citations.
1960:Checkerboard rendering
1398:DirectX Developer Blog
1090:Metal Shading Language
1080:, also known as HLSL.
243:
227:
1915:Affine transformation
1894:Surface triangulation
1838:Anisotropic filtering
1424:NVIDIA Developer Blog
1368:. September 17, 2018.
1354:. September 14, 2018.
1120:increasingly include
1042:higher order function
425:(for depth effects),
321:geometry transforming
290:video post-processing
233:
209:
1072:shading language is
1054:pipeline parallelism
855:Tessellation shaders
522:unified shader model
278:—a process known as
1930:Collision detection
1858:Global illumination
1573:. AP Professional.
1551:Musgrave, F. Kenton
1473:. November 23, 2020
1031:parallel processing
1025:Parallel processing
907:Ray tracing shaders
901:DirectX 12 Ultimate
729:cartoon/cel shaders
700:specular highlights
542:texture coordinates
483:RenderMan Interface
419:volumetric lighting
1980:Scanline rendering
1774:Parallax scrolling
1764:Isometric graphics
1531:. Addison-Wesley.
1496:Android Developers
1340:. January 5, 2017.
1312:. January 6, 2021.
1310:msdn.microsoft.com
1254:. August 13, 2003.
1122:node-based editors
1100:GUI shader editors
920:DirectX Raytracing
775:3D shaders act on
763:after it has been
644:2D shaders act on
494:software libraries
313:rendering pipeline
244:
228:
2101:
2100:
2042:Graphics software
1935:Planar projection
1920:Back-face culling
1792:
1791:
1736:Alpha compositing
1697:Computer graphics
1589:Fernando, Randima
1451:www.anandtech.com
878:microarchitecture
826:graphics pipeline
727:/enhancement for
674:shaders, compute
572:graphics pipeline
309:Shading languages
248:computer graphics
204:
203:
196:
186:
185:
178:
124:
123:
84:
16:(Redirected from
2121:
2027:Volume rendering
1899:Wire-frame model
1752:
1751:
1690:
1683:
1676:
1667:
1666:
1636:
1624:
1610:
1584:
1572:
1542:
1530:
1507:
1506:
1504:
1502:
1488:
1482:
1481:
1479:
1478:
1461:
1455:
1454:
1442:
1436:
1435:
1433:
1431:
1416:
1410:
1409:
1407:
1405:
1400:. March 19, 2020
1390:
1384:
1383:
1376:
1370:
1369:
1362:
1356:
1355:
1348:
1342:
1341:
1334:
1328:
1327:
1326:. July 31, 2017.
1320:
1314:
1313:
1302:
1296:
1290:
1284:
1283:
1276:
1270:
1269:
1262:
1256:
1255:
1248:
1242:
1241:
1229:
1223:
1222:
1215:
1209:
1208:
1206:
1204:
1190:
1174:Vector processor
1159:Shading language
1050:data parallelism
996:Linux Foundation
873:Circa 2017, the
816:Geometry shaders
719:effects such as
690:value, to doing
580:shading language
556:(possibly after
518:Geometry shaders
459:motion detection
256:computer program
214:on the left and
199:
192:
181:
174:
170:
167:
161:
156:this article by
147:inline citations
134:
133:
126:
119:
116:
110:
103:factual accuracy
95:
94:
87:
76:
54:
53:
46:
21:
2129:
2128:
2124:
2123:
2122:
2120:
2119:
2118:
2104:
2103:
2102:
2097:
2081:
2036:
1903:
1848:Fluid animation
1788:
1750:
1722:
1713:Diffusion curve
1705:Vector graphics
1699:
1694:
1643:
1633:
1607:
1581:
1555:Peachey, Darwyn
1539:
1516:
1514:Further reading
1511:
1510:
1500:
1498:
1490:
1489:
1485:
1476:
1474:
1463:
1462:
1458:
1443:
1439:
1429:
1427:
1418:
1417:
1413:
1403:
1401:
1392:
1391:
1387:
1378:
1377:
1373:
1364:
1363:
1359:
1350:
1349:
1345:
1336:
1335:
1331:
1322:
1321:
1317:
1304:
1303:
1299:
1291:
1287:
1282:. June 9, 2011.
1278:
1277:
1273:
1268:. June 9, 2011.
1264:
1263:
1259:
1250:
1249:
1245:
1230:
1226:
1217:
1216:
1212:
1202:
1200:
1198:learnopengl.com
1192:
1191:
1187:
1182:
1135:
1102:
1094:Metal framework
1092:as part of the
1066:
1027:
1011:Compute shaders
1008:
1006:Compute shaders
952:
909:
871:
862:level-of-detail
857:
818:
797:
773:
668:
642:
634:unified shaders
629:
574:is as follows:
530:
475:
379:post-processing
286:special effects
220:Gouraud shading
200:
189:
188:
187:
182:
171:
165:
162:
152:Please help to
151:
135:
131:
120:
114:
111:
108:
100:This article's
96:
92:
55:
51:
42:
28:
23:
22:
15:
12:
11:
5:
2127:
2117:
2116:
2099:
2098:
2096:
2095:
2089:
2087:
2083:
2082:
2080:
2079:
2074:
2069:
2068:
2067:
2062:
2057:
2046:
2044:
2038:
2037:
2035:
2034:
2029:
2024:
2019:
2014:
2009:
2004:
1999:
1997:Shadow mapping
1994:
1989:
1984:
1983:
1982:
1977:
1972:
1967:
1962:
1957:
1952:
1942:
1937:
1932:
1927:
1922:
1917:
1911:
1909:
1905:
1904:
1902:
1901:
1896:
1891:
1890:
1889:
1879:
1872:
1867:
1862:
1861:
1860:
1850:
1845:
1840:
1835:
1830:
1824:
1819:
1813:
1808:
1802:
1800:
1794:
1793:
1790:
1789:
1787:
1786:
1781:
1776:
1771:
1766:
1760:
1758:
1749:
1748:
1743:
1738:
1732:
1730:
1724:
1723:
1721:
1720:
1715:
1709:
1707:
1701:
1700:
1693:
1692:
1685:
1678:
1670:
1664:
1663:
1658:
1649:
1642:
1641:External links
1639:
1638:
1637:
1631:
1611:
1605:
1585:
1579:
1563:Worley, Steven
1547:Ebert, David S
1543:
1537:
1521:Upstill, Steve
1515:
1512:
1509:
1508:
1483:
1456:
1437:
1426:. May 21, 2021
1411:
1385:
1371:
1357:
1343:
1329:
1315:
1297:
1285:
1271:
1257:
1243:
1224:
1210:
1184:
1183:
1181:
1178:
1177:
1176:
1171:
1166:
1161:
1156:
1154:Compute kernel
1151:
1146:
1141:
1134:
1131:
1126:directed graph
1101:
1098:
1065:
1062:
1026:
1023:
1007:
1004:
951:
950:Tensor shaders
948:
908:
905:
870:
867:
856:
853:
817:
814:
796:
795:Vertex shaders
793:
772:
769:
749:vertex shaders
725:edge detection
717:postprocessing
712:render targets
667:
664:
648:, also called
646:digital images
641:
638:
628:
625:
617:
616:
609:
606:
603:fragment quads
599:
596:
589:
586:
583:
529:
526:
510:vertex shaders
474:
471:
423:normal mapping
202:
201:
184:
183:
138:
136:
129:
122:
121:
99:
97:
90:
85:
59:
58:
56:
49:
39:Tattoo machine
26:
9:
6:
4:
3:
2:
2126:
2115:
2112:
2111:
2109:
2094:
2091:
2090:
2088:
2084:
2078:
2075:
2073:
2070:
2066:
2063:
2061:
2058:
2056:
2053:
2052:
2051:
2048:
2047:
2045:
2043:
2039:
2033:
2030:
2028:
2025:
2023:
2020:
2018:
2015:
2013:
2010:
2008:
2005:
2003:
2002:Shadow volume
2000:
1998:
1995:
1993:
1990:
1988:
1985:
1981:
1978:
1976:
1973:
1971:
1968:
1966:
1963:
1961:
1958:
1956:
1953:
1951:
1948:
1947:
1946:
1943:
1941:
1938:
1936:
1933:
1931:
1928:
1926:
1923:
1921:
1918:
1916:
1913:
1912:
1910:
1906:
1900:
1897:
1895:
1892:
1888:
1885:
1884:
1883:
1880:
1877:
1876:Triangle mesh
1873:
1871:
1868:
1866:
1863:
1859:
1856:
1855:
1854:
1851:
1849:
1846:
1844:
1841:
1839:
1836:
1834:
1831:
1828:
1825:
1823:
1820:
1818:
1814:
1812:
1809:
1807:
1806:3D projection
1804:
1803:
1801:
1799:
1795:
1785:
1782:
1780:
1777:
1775:
1772:
1770:
1767:
1765:
1762:
1761:
1759:
1757:
1753:
1747:
1746:Text-to-image
1744:
1742:
1739:
1737:
1734:
1733:
1731:
1729:
1725:
1719:
1716:
1714:
1711:
1710:
1708:
1706:
1702:
1698:
1691:
1686:
1684:
1679:
1677:
1672:
1671:
1668:
1662:
1659:
1657:
1653:
1650:
1648:
1645:
1644:
1634:
1632:0-321-19789-5
1628:
1623:
1622:
1616:
1615:Rost, Randi J
1612:
1608:
1606:0-321-19496-9
1602:
1598:
1594:
1593:Kilgard, Mark
1590:
1586:
1582:
1580:0-12-228730-4
1576:
1571:
1570:
1564:
1560:
1556:
1552:
1548:
1544:
1540:
1538:0-201-50868-0
1534:
1529:
1528:
1522:
1518:
1517:
1497:
1493:
1487:
1472:
1471:
1470:Khronos Group
1466:
1460:
1452:
1448:
1445:Smith, Ryan.
1441:
1425:
1421:
1415:
1399:
1395:
1389:
1381:
1375:
1367:
1361:
1353:
1347:
1339:
1333:
1325:
1319:
1311:
1307:
1301:
1294:
1289:
1281:
1275:
1267:
1261:
1253:
1247:
1239:
1235:
1228:
1220:
1214:
1199:
1195:
1189:
1185:
1175:
1172:
1170:
1167:
1165:
1162:
1160:
1157:
1155:
1152:
1150:
1147:
1145:
1142:
1140:
1137:
1136:
1130:
1127:
1123:
1119:
1115:
1114:Unreal Engine
1111:
1107:
1097:
1095:
1091:
1087:
1083:
1079:
1075:
1071:
1061:
1059:
1055:
1051:
1047:
1043:
1038:
1036:
1032:
1022:
1020:
1016:
1012:
1003:
1001:
997:
993:
989:
985:
981:
977:
973:
972:Khronos Group
969:
965:
961:
957:
947:
945:
941:
937:
933:
929:
925:
924:Khronos Group
921:
917:
913:
904:
902:
898:
894:
889:
886:
881:
879:
876:
866:
863:
852:
850:
846:
845:shadow volume
842:
837:
835:
829:
827:
823:
813:
811:
807:
802:
792:
790:
786:
782:
778:
768:
766:
762:
758:
754:
753:postprocessor
750:
746:
742:
738:
734:
730:
726:
722:
718:
713:
709:
705:
701:
697:
693:
689:
685:
681:
677:
673:
666:Pixel shaders
663:
661:
657:
653:
652:
647:
637:
635:
624:
622:
614:
610:
607:
604:
600:
597:
594:
590:
587:
584:
581:
577:
576:
575:
573:
568:
566:
561:
559:
555:
551:
547:
543:
539:
535:
525:
523:
519:
515:
511:
507:
506:pixel shading
503:
499:
495:
491:
486:
484:
480:
470:
468:
464:
461:, as well as
460:
456:
452:
448:
447:chroma keying
444:
440:
436:
435:posterization
432:
428:
424:
420:
416:
412:
408:
404:
400:
396:
392:
388:
384:
380:
377:
372:
370:
366:
362:
358:
354:
350:
346:
342:
338:
334:
330:
326:
325:pixel-shading
322:
318:
314:
310:
306:
302:
297:
295:
292:, as well as
291:
287:
283:
282:
277:
273:
269:
265:
261:
257:
253:
249:
241:
237:
232:
225:
221:
217:
216:Phong shading
213:
208:
198:
195:
180:
177:
169:
159:
155:
149:
148:
142:
137:
128:
127:
118:
106:
104:
98:
89:
88:
83:
81:
74:
73:
68:
67:
62:
57:
48:
47:
44:
40:
36:
34:
19:
2011:
2007:Shear matrix
1970:Path tracing
1955:Cone tracing
1950:Beam tracing
1870:Polygon mesh
1811:3D rendering
1655:
1620:
1596:
1568:
1526:
1499:. Retrieved
1495:
1486:
1475:. Retrieved
1468:
1459:
1450:
1440:
1428:. Retrieved
1423:
1414:
1402:. Retrieved
1397:
1388:
1374:
1360:
1346:
1332:
1318:
1309:
1300:
1288:
1274:
1260:
1246:
1237:
1227:
1213:
1203:November 12,
1201:. Retrieved
1197:
1188:
1103:
1067:
1039:
1028:
1009:
953:
910:
890:
882:
872:
858:
841:tessellation
838:
834:pixel shader
830:
819:
798:
774:
761:video stream
733:intermediate
732:
704:translucency
692:bump mapping
669:
650:
643:
630:
621:frame buffer
618:
613:frame buffer
569:
562:
558:tessellation
531:
487:
476:
453:" effects),
439:bump mapping
373:
308:
298:
279:
251:
245:
212:Flat shading
190:
172:
163:
144:
112:
101:
77:
70:
64:
63:Please help
60:
43:
32:
18:Pixel shader
2022:Translation
1975:Ray casting
1965:Ray tracing
1843:Cel shading
1817:Image-based
1798:3D graphics
1779:Ray casting
1728:2D graphics
1559:Perlin, Ken
1064:Programming
912:Ray tracing
708:Z-buffering
660:3D geometry
463:psychedelic
451:greenscreen
431:cel shading
415:light bloom
387:video games
270:during the
158:introducing
2086:Algorithms
1940:Reflection
1477:2021-02-22
1180:References
1106:video game
1058:map reduce
992:TensorFlow
822:primitives
806:rasterizer
771:3D shaders
765:rasterized
747:, whereas
640:2D shaders
593:subdivided
570:The basic
443:distortion
399:brightness
395:saturation
365:algorithms
345:brightness
341:saturation
166:April 2014
141:references
115:April 2017
66:improve it
2065:rendering
2055:animation
1945:Rendering
1501:August 1,
1070:OpenGL ES
1035:pipelines
964:Microsoft
916:Microsoft
810:3D models
777:3D models
554:primitive
514:GeForce 3
467:demoscene
369:variables
359:, and/or
351:) of all
301:rendering
272:rendering
224:3D models
72:talk page
2108:Category
2060:modeling
1987:Rotation
1925:Clipping
1908:Concepts
1887:Deferred
1853:Lighting
1833:Aliasing
1827:Unbiased
1822:Spectral
1617:(2004).
1595:(2003).
1565:(1994).
1523:(1990).
1467:. Blog.
1238:PC Gamer
1133:See also
1046:dataflow
968:DirectML
875:AMD Vega
849:cube map
745:pipeline
743:—in the
741:textures
688:lighting
672:fragment
651:textures
565:lighting
502:Direct3D
496:such as
407:contrast
361:textures
357:vertices
349:contrast
329:position
276:3D scene
264:darkness
2114:Shading
1992:Scaling
1882:Shading
1430:May 25,
1404:May 25,
1104:Modern
984:Core ML
737:sprites
696:shadows
546:z-depth
473:History
403:HSL/HSV
281:shading
238:from a
154:improve
35:(album)
2012:Shader
1784:Skybox
1769:Mode 7
1741:Layers
1629:
1603:
1577:
1535:
1144:SPIR-V
1086:Nvidia
988:Google
976:OpenVX
936:SPIR-V
934:, and
928:Vulkan
897:Ampere
893:RDNA 2
801:vertex
785:curves
759:for a
757:filter
656:pixels
534:vertex
528:Design
508:, but
498:OpenGL
385:, and
376:cinema
353:pixels
347:, and
266:, and
252:shader
240:webcam
143:, but
33:Shader
2032:Voxel
2017:Texel
1718:Pixel
1164:GPGPU
1118:Godot
1110:Unity
1015:GPGPU
994:, by
986:, by
980:Apple
978:, by
970:, by
944:Metal
940:Apple
938:, by
922:, by
789:bumps
723:, or
684:pixel
680:pixel
676:color
627:Types
550:alpha
538:pixel
536:or a
479:Pixar
427:bokeh
405:) or
333:color
274:of a
268:color
260:light
254:is a
236:photo
1756:2.5D
1627:ISBN
1601:ISBN
1575:ISBN
1533:ISBN
1503:2024
1432:2021
1406:2021
1205:2019
1149:HLSL
1139:GLSL
1116:and
1000:ONNX
998:via
990:via
982:via
974:via
966:via
960:GPUs
956:NPUs
942:via
932:GLSL
926:via
918:via
895:and
787:and
781:mesh
721:blur
548:and
500:and
457:and
455:edge
411:blur
331:and
323:and
288:and
250:, a
37:and
1060:).
958:or
755:or
739:or
623:".
488:As
391:hue
337:hue
246:In
2110::
1654::
1591:;
1561:;
1557:;
1553:;
1549:;
1494:.
1449:.
1422:.
1396:.
1308:.
1236:.
1196:.
1112:,
1096:.
1082:Cg
1002:.
946:.
930:,
843:,
836:.
828:.
812:.
767:.
702:,
698:,
694:,
524:.
469:.
445:,
441:,
437:,
433:,
429:,
421:,
417:,
413:,
397:,
393:,
381:,
355:,
343:,
339:,
296:.
262:,
75:.
1878:)
1874:(
1829:)
1815:(
1689:e
1682:t
1675:v
1635:.
1609:.
1583:.
1541:.
1505:.
1480:.
1453:.
1434:.
1408:.
1382:.
1221:.
1207:.
615:.
595:.
401:(
335:(
226:.
197:)
191:(
179:)
173:(
168:)
164:(
150:.
117:)
113:(
107:.
82:)
78:(
41:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.