Software renderer

From Valve Developer Community
(Redirected from Software mode)
Jump to navigation Jump to search
This article or section is a stub. You can help by expanding it.

A software renderer, such as those available in GoldSrc GoldSrc and id Tech 2 id Tech 2, uses the CPU to render 3D geometry, instead of a GPU. A 3D application using a software renderer can be considered to be running in software mode.

When Quake was released, software renderer was the only option, due to operating systems (like MS-DOS (which Quake originally was released) and initial release of Windows 95) at the time lacked APIs that can handle 3D hardware acceleration, and lack of graphics card that handle 3D acceleration. This later changed when VQuake (for Rendition Vérité chipset) was released, followed by GLQuake after. At the time of GLQuake released, none of the graphics card support OpenGL at the time, but 3dfx quickly developed MiniGL, followed by other manufacturers adding OpenGL support to graphics card. As Half-Life's engine, GoldSrc, was based on heavily modified version of the Quake engine (id Tech 2), it borrowed both Quake's software render and GLQuake's OpenGL support, although it has been modified with enhancements & new features. At the time of Half-Life release, alongside other games in 1998, some players did not have an graphics card that support either OpenGL or Direct3D, or compatibility issues that preventing them from using either of those APIs, Software renderer continued to be available.

As time went on, as OpenGL and Direct3D APIs continued to be matured and players adopting graphics card, along with software renderer being more resource demanding, as the CPU would had to render 3D geometry and handle game engine at the same time, taxing most CPUs at the time, let alone handling complex shaders without tanking the game's framerate, software renderers would eventually became obsoleted in many 3D games released since the early 2000s, with those titles requiring either Direct3D (aka DirectX) or OpenGL, Vulkan compatible graphics card in order to play the game. The Source Source engine also removed software renderer support because the Source's material system and shaders was specifically designed for a GPU to handle.

The GPU is still used for processing the 2D image generated from the software renderer, with DirectDraw also being used if running in exclusive fullscreen mode, but no 3D hardware is used.

id Tech 2 Id Tech 2 Engine Software Renderer

Screenshot in-game of Quake Quake (WinQuake), using Software renderer.

Features

This article or section is empty. You can help by adding it.

GoldSrc GoldSrc Engine Software Renderer

Screenshot in-game of Half-Life Half-Life, using Software renderer.

Features

  • DirectDraw - Part of DirectX. DirectDraw will be used when the game runs in exclusive fullscreen mode with software renderer selected.
  • 16-bit rendering for up to 65536 colors on screen at a time - Quake used an 8-bit renderer, which was limited to 256 colors
  • Colored lighting - Quake simply had monotone lighting
  • Transparent textures - Glass can now be used in maps
  • Water ripples

Since 25th Anniversary

Limitations

  • Lack of texture filtering
  • 256x256 texture size limit
  • No anti-aliasing support
  • No Dynamic Shadows support
  • Lower limits for drawing geometry
  • No Water waves
  • No Detailed textures
  • Overdraw from brush entities and func_detail is more problematic
  • Mid-poly or high-poly models will disappear.
  • Overbright lighting on MDLs (instead of only map geometry)

See also

External links