Software renderer: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
Line 2: Line 2:
A '''software renderer''', such as those available in {{gldsrc|2}} and {{idtech2|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'''.
A '''software renderer''', such as those available in {{gldsrc|2}} and {{idtech2|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'''.


Software renderer often have limitations, and with the usage of CPU instead of GPU for rendering usually causes performance hit (especially for hardware at the time), thus, software renderer are largely deprecated in most games since early 2000s (and the {{source|4}} engine requires [[DirectX]] (or [[OpenGL]], [[Vulkan]]) compatible graphics card in order to play the game.
Software renderers often have limitations, and with the usage of CPU instead of GPU for rendering usually causes performance hit (especially for hardware at the time), thus, software renderers are largely deprecated in most games since the early 2000s (and the {{source|4}} engine requires [[DirectX]] (or [[OpenGL]], [[Vulkan]]) compatible graphics card in order to play the game.


The GPU is still used for processing the 2D image generated from the software renderer, but no 3D hardware is used.
The GPU is still used for processing the 2D image generated from the software renderer, but no 3D hardware is used.
Line 8: Line 8:
=={{idtech2|4|nt=4}} Software Renderer==
=={{idtech2|4|nt=4}} Software Renderer==
[[File:Quake software renderer.png|thumbnail|Screenshot in-game of {{Quake|4}} (WinQuake), using Software renderer.]]
[[File:Quake software renderer.png|thumbnail|Screenshot in-game of {{Quake|4}} (WinQuake), using Software renderer.]]
[[File:VQuake_software_renderer.png|thumbnail|Screenshot in-game of {{Quake|4}} (VQuake), using Software renderer. VQuake features some graphical improvements and solve most limitations that software renderer had.]]
[[File:VQuake software renderer.png|thumbnail|Screenshot in-game of {{Quake|4}} (VQuake), using Software renderer. VQuake features some graphical improvements and solve most limitations that software renderer had.]]


====Features (DOS Quake only)====
====Features (DOS Quake only)====
Line 17: Line 17:
*Optional anti-aliasing
*Optional anti-aliasing


== {{gldsrc|4|nt=1}} Software Renderer==
=={{gldsrc|4|nt=1}} Software Renderer==
 
[[File:Half-life Software renderer.png|thumbnail|Screenshot in-game of {{hl1|4}}, using Software renderer.]]
[[File:Half-life Software renderer.png|thumbnail|Screenshot in-game of {{hl1|4}}, using Software renderer.]]


Line 26: Line 25:
* '''Water ripple '''
* '''Water ripple '''


==== Since 25th Anniversary ====
====Since 25th Anniversary====
'''[[Software renderer]] support on {{Linux|3}}'''
'''[[Software renderer]] support on {{Linux|3}}'''


Line 39: Line 38:
* Overbright lighting on MDLs (instead of only map geometry)
* Overbright lighting on MDLs (instead of only map geometry)


== See also ==
==See also==
* [[Direct3D]]
* [[Direct3D]]
* [[OpenGL]]
* [[OpenGL]]
* [[Vulkan]]
* [[Vulkan]]


== External links ==
==External links==
* {{w|Software rendering}}
* {{w|Software rendering}}
* {{w|Quake (video_game)#VQuake|DOS Quake}} on Wikipedia
* {{w|Quake (video game)#VQuake|DOS Quake}} on Wikipedia
*[https://quake.fandom.com/wiki/VQuake Quake fandom wiki]
*[https://quake.fandom.com/wiki/VQuake Quake fandom wiki]


[[Category:Glossary]]
[[Category:Glossary]]
[[Category:Graphics API]]
[[Category:Graphics API]]

Revision as of 15:01, 8 July 2024

Stub

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.

Software renderers often have limitations, and with the usage of CPU instead of GPU for rendering usually causes performance hit (especially for hardware at the time), thus, software renderers are largely deprecated in most games since the early 2000s (and the Source Source engine requires DirectX (or OpenGL, Vulkan) compatible graphics card in order to play the game.

The GPU is still used for processing the 2D image generated from the software renderer, 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.
Screenshot in-game of Quake Quake (VQuake), using Software renderer. VQuake features some graphical improvements and solve most limitations that software renderer had.

Features (DOS Quake only)

  • Visual improvements
  • Full 16-bit color
  • Bilinear filtering (reducing pixelation)
  • Improved dynamic lighting
  • Optional anti-aliasing

GoldSrc GoldSrc Engine Software Renderer

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

Features

  • Colored lighting - Quake simply had monotone lighting
  • Transparent textures - Glass can now be used in maps
  • Water ripple

Since 25th Anniversary

Software renderer support on Linux

Missing Features and Limits and Problems

  • Lack of texture filtering
  • 256x256 texture size limit
  • 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
  • Overbright lighting on MDLs (instead of only map geometry)

See also

External links