66:
25:
168:
490:
But even for high-end graphics, the 'art' of software rendering hasn't completely died out. While early graphics cards were much faster than software renderers and originally had better quality and more features, it restricted the developer to 'fixed-function' pixel processing. Quickly there came a
522:
Since the adoption of graphics hardware as the primary means for real-time rendering, CPU performance has grown steadily as ever. This allowed for new software rendering technologies to emerge. Although largely overshadowed by the performance of hardware rendering, some modern real-time software
275:
Rendering is used in architecture, simulators, video games, movies and television visual effects and design visualization. Rendering is the last step in an animation process, and gives the final appearance to the models and animation with visual effects such as shading, texture-mapping, shadows,
240:
543:
For various reasons such as hardware failure, broken drivers, emulation, quality assurance, software programming, hardware design, and hardware limitations, it is sometimes useful to let the CPU assume some or all functions in a graphics pipeline.
573:, provided since Windows Vista by Microsoft, which works at the system level to provide fast D3D 9.1 and above emulation. This is in addition to the extremely slow software-based reference rasterizer Microsoft has always provided to developers.
288:, and generally each frame must be rendered in a few milliseconds. Offline rendering is used to create realistic images and movies, where each frame can take hours or days to complete, or for debugging of complex graphics code by programmers.
272:. Rendering everything with the (general-purpose) CPU has the main advantage that it is not restricted to the (limited) capabilities of graphics hardware, but the disadvantage is that more transistors are needed to obtain the same speed.
646:
Because of the need for very high-quality and diversity of effects, offline rendering requires a lot of flexibility. Even though commercial real-time graphics hardware is becoming higher in quality and more programmable by the day, most
462:
Games for children and casual gamers (who use outdated systems or systems primarily meant for office applications) during the late 1990s to early 2000s typically used a software renderer as a fallback. For example,
491:
need for diversification of the looks of games. Software rendering has no restrictions because an arbitrary program is executed. So graphics cards reintroduced this programmability, by executing small programs per
736:
531:. Although nowadays the dominance of hardware rendering over software rendering is undisputed because of unparalleled performance, features, and continuing innovation, some believe that CPUs and
589:
Contrary to real-time rendering, performance is only of second priority with pre-rendering. It is used mainly in the film industry to create high-quality renderings of lifelike scenes. Many
475:
default to software mode and can be adjusted to use OpenGL or DirectX in the
Options menu. Some 3D modeling software also features software renderers for visualization. And finally the
435:
markets, the evolution of 3D was more abrupt, as they had always relied heavily on single-purpose chipsets. 16 bit consoles gained RISC accelerator cartridges in games such as
296:
For real-time rendering the focus is on performance. The earliest texture mapped real-time software renderers for PCs used many tricks to create the illusion of 3D geometry (
547:
As a result, there are a number of general-purpose software packages capable of replacing or augmenting an existing hardware graphical accelerator, including:
778:
284:(also known as online rendering), and pre-rendering (also called offline rendering). Real-time rendering is used to interactively render a scene, like in
465:
702:
394:. Though software rendering fell off as a primary rendering technology, many games well into the 2000s still had a software renderer as a fallback,
570:
261:
1167:
1140:
1183:
787:
655:, for example, allows shaders of unlimited length and complexity, demanding a general-purpose processor. Techniques for high realism like
602:
83:
38:
907:
728:
226:
208:
149:
52:
523:
renderers manage to combine a broad feature set and reasonable performance (for a software renderer), by making use of specialized
406:
for instance, feature software renderers able to produce enjoyable quality and performance on CPUs of that period. One of the last
130:
771:
102:
1030:
831:
277:
87:
1155:
1145:
1035:
854:
254:
109:
519:-like programming languages for shaders and start to show some resemblance with (arbitrary function) software rendering.
1150:
1015:
955:
500:
452:
281:
186:
317:, for example, allowed a limited form of looking up and down, slanted floors, and rooms over rooms, but resorted to
116:
943:
764:
607:
508:
318:
76:
528:
407:
648:
564:
516:
396:
352:
244:
98:
663:
are also inherently unsuited for hardware implementation and in most cases are realized purely in software.
512:
480:
269:
190:
44:
469:
has a choice of selecting either hardware or software rendering before playing the game, while others like
1162:
1112:
1077:
1055:
1050:
706:
656:
580:, provided in Mac OS X by Apple, which works at the system level to provide fast OpenGL 1.1–4.1 emulation.
471:
329:
178:
1204:
1005:
984:
928:
593:
in today's movies are entirely or partially created by computer graphics. For example, the character of
456:
888:
874:
818:
672:
652:
334:
253:
is the process of generating an image from a model by means of computer software. In the context of
1020:
948:
836:
660:
524:
1082:
1070:
917:
912:
864:
635:
631:
560:, a library sold as middleware intended for bundling with D3D9 & OpenGL ES 2 client software.
535:
will converge one way or another and the line between software and hardware rendering will fade.
428:
362:
350:-based graphics also gained popularity for fast and relatively detailed terrain rendering, as in
123:
1132:
1025:
1010:
826:
677:
492:
417:
402:
313:
258:
1117:
1107:
989:
977:
557:
308:
285:
239:
554:' Pixomatic, sold as middleware intended for static linking inside D3D 7–9 client software.
938:
803:
795:
639:
590:
371:
343:
301:
321:
for all detailed objects. The technology used in these games is currently categorized as
1087:
551:
412:
367:
357:
1198:
1092:
966:
896:
598:
443:
265:
1097:
1060:
1045:
1040:
960:
901:
626:
448:
421:
328:
One of the first games architecturally similar to modern 3D titles, allowing full
1065:
933:
869:
729:"Tim Sweeney, Part 2: "DirectX 10 is the last relevant graphics API" | TG Daily"
682:
577:
567:
work as a shim at the system level to emulate an OpenGL 1.4–3.2 hardware device.
432:
65:
483:
of hardware also requires a software renderer. An example of the latter is the
379:
257:, software rendering refers to a rendering process that is not dependent upon
620:
611:
447:
which implemented software rendering through tailored instruction sets. The
455:
were the first consoles to ship with 3D hardware, but it wasn't until the
923:
484:
476:
339:
972:
504:
437:
387:
304:
297:
1102:
859:
594:
391:
756:
1122:
808:
615:
496:
347:
280:
and motion blur. Rendering can be split into two main categories:
238:
846:
322:
760:
532:
383:
378:
and other polygonal 3D games of that time helped the sales of
161:
59:
18:
563:
The swrast, softpipe, & LLVMpipe renderers inside
703:"LIVE Design - Interactive Visualizations | Autodesk"
416:, which featured advanced voxel technology but also
1176:
1131:
998:
887:
845:
817:
794:
90:. Unsourced material may be challenged and removed.
459:that such features came to be used in most games.
614:movies, CGI is gaining popularity. Most notably
243:Software renderer running on a device without a
651:CGI still requires software rendering. Pixar's
772:
527:and advanced instruction set extensions like
360:hardware eventually made its use impossible.
8:
268:. The rendering takes place entirely in the
189:. There might be a discussion about this on
366:features an efficient software renderer by
53:Learn how and when to remove these messages
842:
779:
765:
757:
466:Toy Story 2: Buzz Lightyear to the Rescue
227:Learn how and when to remove this message
209:Learn how and when to remove this message
150:Learn how and when to remove this message
618:has produced a series of movies such as
382:, and more games started using hardware
694:
16:Generating images by computer software
7:
1184:List of computer graphics algorithms
88:adding citations to reliable sources
739:from the original on March 4, 2016
14:
34:This article has multiple issues.
410:without a hardware renderer was
166:
64:
23:
576:The Apple software renderer in
424:as found on graphics hardware.
75:needs additional citations for
42:or discuss these issues on the
1:
1141:3D computer graphics software
956:Hidden-surface determination
507:. Shader languages, such as
292:Real-time software rendering
727:Valich, Theo (2012-12-13).
255:computer graphics rendering
1221:
608:computer-generated imagery
511:(HLSL) for DirectX or the
509:High Level Shader Language
342:entirely made from bitmap
1168:Vector graphics editors
1163:Raster graphics editors
513:OpenGL Shading Language
374:. With its popularity,
300:was limited to flat or
1051:Checkerboard rendering
487:reference rasterizer.
247:
1006:Affine transformation
985:Surface triangulation
929:Anisotropic filtering
603:The Lord of the Rings
346:triangular polygons.
242:
709:on February 21, 2014
673:3D computer graphics
606:films is completely
179:confusing or unclear
99:"Software rendering"
84:improve this article
1021:Collision detection
949:Global illumination
661:global illumination
525:dynamic compilation
307:employed mainly in
282:real-time rendering
187:clarify the article
1071:Scanline rendering
865:Parallax scrolling
855:Isometric graphics
634:the world's first
632:Blender Foundation
429:video game console
251:Software rendering
248:
1192:
1191:
1133:Graphics software
1026:Planar projection
1011:Back-face culling
883:
882:
827:Alpha compositing
788:Computer graphics
678:Headless software
539:Software fallback
418:texture filtering
403:Unreal Tournament
338:, which featured
314:Ultima Underworld
309:flight simulators
286:3D computer games
259:graphics hardware
237:
236:
229:
219:
218:
211:
160:
159:
152:
134:
57:
1212:
1118:Volume rendering
990:Wire-frame model
843:
781:
774:
767:
758:
748:
747:
745:
744:
724:
718:
717:
715:
714:
705:. Archived from
699:
610:(CGI). Also for
503:, also known as
232:
225:
214:
207:
203:
200:
194:
170:
169:
162:
155:
148:
144:
141:
135:
133:
92:
68:
60:
49:
27:
26:
19:
1220:
1219:
1215:
1214:
1213:
1211:
1210:
1209:
1195:
1194:
1193:
1188:
1172:
1127:
994:
939:Fluid animation
879:
841:
813:
804:Diffusion curve
796:Vector graphics
790:
785:
754:
752:
751:
742:
740:
726:
725:
721:
712:
710:
701:
700:
696:
691:
669:
640:Elephants Dream
591:special effects
587:
541:
294:
233:
222:
221:
220:
215:
204:
198:
195:
184:
171:
167:
156:
145:
139:
136:
93:
91:
81:
69:
28:
24:
17:
12:
11:
5:
1218:
1216:
1208:
1207:
1197:
1196:
1190:
1189:
1187:
1186:
1180:
1178:
1174:
1173:
1171:
1170:
1165:
1160:
1159:
1158:
1153:
1148:
1137:
1135:
1129:
1128:
1126:
1125:
1120:
1115:
1110:
1105:
1100:
1095:
1090:
1088:Shadow mapping
1085:
1080:
1075:
1074:
1073:
1068:
1063:
1058:
1053:
1048:
1043:
1033:
1028:
1023:
1018:
1013:
1008:
1002:
1000:
996:
995:
993:
992:
987:
982:
981:
980:
970:
963:
958:
953:
952:
951:
941:
936:
931:
926:
921:
915:
910:
904:
899:
893:
891:
885:
884:
881:
880:
878:
877:
872:
867:
862:
857:
851:
849:
840:
839:
834:
829:
823:
821:
815:
814:
812:
811:
806:
800:
798:
792:
791:
786:
784:
783:
776:
769:
761:
750:
749:
719:
693:
692:
690:
687:
686:
685:
680:
675:
668:
665:
649:photorealistic
586:
583:
582:
581:
574:
568:
561:
555:
552:RAD Game Tools
540:
537:
380:graphics cards
368:Michael Abrash
358:fixed-function
356:, but popular
302:Gouraud-shaded
293:
290:
235:
234:
217:
216:
174:
172:
165:
158:
157:
72:
70:
63:
58:
32:
31:
29:
22:
15:
13:
10:
9:
6:
4:
3:
2:
1217:
1206:
1203:
1202:
1200:
1185:
1182:
1181:
1179:
1175:
1169:
1166:
1164:
1161:
1157:
1154:
1152:
1149:
1147:
1144:
1143:
1142:
1139:
1138:
1136:
1134:
1130:
1124:
1121:
1119:
1116:
1114:
1111:
1109:
1106:
1104:
1101:
1099:
1096:
1094:
1093:Shadow volume
1091:
1089:
1086:
1084:
1081:
1079:
1076:
1072:
1069:
1067:
1064:
1062:
1059:
1057:
1054:
1052:
1049:
1047:
1044:
1042:
1039:
1038:
1037:
1034:
1032:
1029:
1027:
1024:
1022:
1019:
1017:
1014:
1012:
1009:
1007:
1004:
1003:
1001:
997:
991:
988:
986:
983:
979:
976:
975:
974:
971:
968:
967:Triangle mesh
964:
962:
959:
957:
954:
950:
947:
946:
945:
942:
940:
937:
935:
932:
930:
927:
925:
922:
919:
916:
914:
911:
909:
905:
903:
900:
898:
897:3D projection
895:
894:
892:
890:
886:
876:
873:
871:
868:
866:
863:
861:
858:
856:
853:
852:
850:
848:
844:
838:
837:Text-to-image
835:
833:
830:
828:
825:
824:
822:
820:
816:
810:
807:
805:
802:
801:
799:
797:
793:
789:
782:
777:
775:
770:
768:
763:
762:
759:
755:
738:
734:
730:
723:
720:
708:
704:
698:
695:
688:
684:
681:
679:
676:
674:
671:
670:
666:
664:
662:
658:
654:
650:
644:
642:
641:
637:
633:
629:
628:
623:
622:
617:
613:
609:
605:
604:
600:
599:Peter Jackson
596:
592:
585:Pre-rendering
584:
579:
575:
572:
569:
566:
562:
559:
556:
553:
550:
549:
548:
545:
538:
536:
534:
530:
526:
520:
518:
514:
510:
506:
502:
498:
494:
488:
486:
482:
478:
474:
473:
468:
467:
460:
458:
454:
450:
446:
445:
444:Virtua Racing
440:
439:
434:
430:
425:
423:
419:
415:
414:
409:
405:
404:
399:
398:
393:
389:
385:
381:
377:
373:
369:
365:
364:
359:
355:
354:
349:
345:
341:
337:
336:
331:
326:
324:
320:
316:
315:
310:
306:
303:
299:
291:
289:
287:
283:
279:
273:
271:
267:
266:graphics card
263:
260:
256:
252:
246:
241:
231:
228:
213:
210:
202:
192:
191:the talk page
188:
182:
180:
175:This article
173:
164:
163:
154:
151:
143:
132:
129:
125:
122:
118:
115:
111:
108:
104:
101: –
100:
96:
95:Find sources:
89:
85:
79:
78:
73:This article
71:
67:
62:
61:
56:
54:
47:
46:
41:
40:
35:
30:
21:
20:
1205:3D rendering
1098:Shear matrix
1061:Path tracing
1046:Cone tracing
1041:Beam tracing
961:Polygon mesh
902:3D rendering
753:
741:. Retrieved
732:
722:
711:. Retrieved
707:the original
697:
645:
638:
627:Finding Nemo
625:
619:
601:
588:
546:
542:
521:
515:(GLSL), are
489:
481:verification
470:
464:
461:
442:
436:
426:
422:bump mapping
411:
401:
395:
375:
372:John Carmack
361:
351:
333:
327:
312:
295:
274:
264:, such as a
250:
249:
223:
205:
196:
185:Please help
176:
146:
137:
127:
120:
113:
106:
94:
82:Please help
77:verification
74:
50:
43:
37:
36:Please help
33:
1113:Translation
1066:Ray casting
1056:Ray tracing
934:Cel shading
908:Image-based
889:3D graphics
870:Ray casting
819:2D graphics
683:Z-buffering
558:SwiftShader
457:PlayStation
433:arcade game
353:Delta Force
278:reflections
1177:Algorithms
1031:Reflection
743:2016-11-07
713:2016-08-20
689:References
657:raytracing
636:open movie
630:, and the
181:to readers
110:newspapers
39:improve it
1156:rendering
1146:animation
1036:Rendering
653:RenderMan
621:Toy Story
612:animation
477:emulation
472:Half-Life
408:AAA games
340:3D models
199:June 2008
140:July 2007
45:talk page
1199:Category
1151:modeling
1078:Rotation
1016:Clipping
999:Concepts
978:Deferred
944:Lighting
924:Aliasing
918:Unbiased
913:Spectral
737:Archived
733:TG Daily
667:See also
501:fragment
495:and per
485:Direct3D
344:textured
305:polygons
1083:Scaling
973:Shading
597:in the
505:shaders
438:StarFox
427:In the
413:Outcast
388:DirectX
335:Descent
319:sprites
298:true 3D
177:may be
124:scholar
1103:Shader
875:Skybox
860:Mode 7
832:Layers
595:Gollum
493:vertex
449:Jaguar
397:Unreal
392:OpenGL
332:, was
126:
119:
112:
105:
97:
1123:Voxel
1108:Texel
809:Pixel
616:Pixar
497:pixel
386:like
376:Quake
363:Quake
348:Voxel
262:ASICs
131:JSTOR
117:books
847:2.5D
659:and
624:and
571:WARP
565:Mesa
533:GPUs
479:and
451:and
441:and
431:and
420:and
400:and
390:and
384:APIs
370:and
330:6DoF
323:2.5D
103:news
578:CGL
529:SSE
453:3DO
311:.)
270:CPU
245:GPU
86:by
1201::
735:.
731:.
643:.
325:.
48:.
969:)
965:(
920:)
906:(
780:e
773:t
766:v
746:.
716:.
517:C
499:/
230:)
224:(
212:)
206:(
201:)
197:(
193:.
183:.
153:)
147:(
142:)
138:(
128:·
121:·
114:·
107:·
80:.
55:)
51:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.