Software rendering: Difference between revisions

Content deleted Content added
Real-time software rendering: clean up, typo(s) fixed: For example → For example, using AWB
Line 15:
In the [[video game console]] and [[arcade game]] 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 ''[[StarFox]]'' and ''[[Virtua Racing]]'' which implemented software rendering through tailored instruction sets. The [[Atari Jaguar|Jaguar]] and [[3DO Interactive Multiplayer|3DO]] were the first consoles to ship with 3D hardware, but it wasn't until the [[PlayStation (console)|PlayStation]] that such features came to be used in most games.
 
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, ''[[Toy Story 2: Buzz Lightyear to the Rescue]]'' has a choice of selecting either hardware or software rendering before playing the game, while others like ''Half-Life'' default to software mode and can be adjusted to use OpenGL or DirectX in the Options menu. Some 3D modeling software also feature software renderers for visualization. And finally the [[emulator|emulation]] and [[Functional verification|verification]] of hardware also requires a software renderer. An example of the latter is the [[Direct3D]] reference rasterizer.
 
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 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 [[vertex (geometry)|vertex]] and per [[pixel]]/[[fragment (computer graphics)|fragment]], also known as [[shaders]]. Shader languages, such as [[High Level Shader Language]] (HLSL) for DirectX or the [[OpenGL Shading Language]] (GLSL), are [[C (programming language)|C]]-like programming languages for shaders and start to show some resemblance with (arbitrary function) software rendering.