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 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.


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.


=={{idtech2}} [[Id Tech 2|Id Tech 2 engine]] ([https://quake.fandom.com/wiki/VQuake VQuake]) Software Renderer==
=={{idtech2}} [[Id Tech 2|Id Tech 2 engine]] VQuake{{ref|1}} Software Renderer==
[[File:VQuake 1.png|thumbnail|Screenshot in-game of {{Quake|4}} ([https://quake.fandom.com/wiki/VQuake VQuake]), using Software renderer.]]
[[File:VQuake 1.png|thumbnail|Screenshot in-game of {{Quake|4}} VQuake]{{ref|2}}, using Software renderer.]]


====Features====
====Features====
*''' Visual improvements'''
*Visual improvements
*'''Full 16-bit color'''
*Full 16-bit color
*'''Bilinear filtering (reducing pixelation)'''
*Bilinear filtering (reducing pixelation)
*'''Improved dynamic lighting'''
*Improved dynamic lighting
*'''Optional anti-aliasing'''
*Optional anti-aliasing


== {{gldsrc}} [[GoldSrc|Goldsrc engine]] 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 29: Line 29:


====Missing Features and Limits and Problems====
====Missing Features and Limits and Problems====
* '''Lack of texture filtering'''
* Lack of texture filtering
* '''256x256 texture limit'''
* 256x256 texture limit
* '''No Rudimentary Shadows support'''
* No Rudimentary Shadows support
* '''Lower limits for drawing geometry'''
* Lower limits for drawing geometry
* '''No Water waves'''
* No Water waves
* '''Overdraw from func_detail'''
* Overdraw from {{ent|func_detail (GoldSrc)|alt=func_detail}}
* '''Overbright lighting on MDLs (instead of only map geometry)'''
* Overbright lighting on MDLs (instead of only map geometry)


== See also ==
== See also ==
Line 43: Line 43:


== References ==
== References ==
[https://en.wikipedia.org/wiki/Quake_(video_game)#VQuake Wikipedia for Quake]  
#[https://en.wikipedia.org/wiki/Quake_(video_game)#VQuake Wikipedia for Quake]
 
#[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 10:55, 20 March 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 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 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 VQuake[1] Software Renderer

Screenshot in-game of Quake Quake VQuake][2], using Software renderer.

Features

  • 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 limit
  • No Rudimentary Shadows support
  • Lower limits for drawing geometry
  • No Water waves
  • Overdraw from func_detail
  • Overbright lighting on MDLs (instead of only map geometry)

See also

References

  1. Wikipedia for Quake
  2. Quake fandom wiki