Software rendering: Difference between revisions

Content deleted Content added
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.
 
Because there are still PC systems being sold with limited graphics cards (or none at all), software rendering will always be required for some applications. Games for kidschildren and casual gamers (who use outdated systems or systems primarily meant for office applications) canduring havethe alate need1990s forto early 2000s typically used a software renderer as a fallback. For example ''[[Toy Story 2: ActionBuzz GameLightyear to the Rescue]]'' has a choice of selecting either hardware or software rendering before playing the game <!--However, the game is restricted to a very low resolution while in software rendering and severe pixelation will result; many new games which use mostly hardware rendering might run with below playable frame rates and lower quality textures and stuff or not even at all-->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.