I love software rendering. The best DOS experience I've had in a long while was Quake in its software renderer at 800×600, running at a locked 60fps on my Dell Opti Plex 380. It's one of the best-looking things I've seen a DOS game do, and that's not how most people remember those games looking.
In a software-rendered game, the CPU draws every pixel. There's no 3D card involved: the game works out each frame in its own code and writes it straight to video memory. Doom, Duke Nukem 3D, Blood and the original Quake all work this way. When 3D cards arrived, many games got accelerated versions, such as GLQuake and the 3dfx modes for Blood and Tomb Raider, which look different.
The author likes the look for two reasons. It's sharp, because software renderers sample textures pixel by pixel, keeping every texel a crisp square. Early 3D cards used bilinear filtering, which now looks soft and blurry. It's also gritty. Most of these games ran in 256 colours, with lighting done through lookup tables, so shadows fall off in visible steps. That colour banding is technically a limitation, but it gives the games a rough texture that hardware rendering smooths away.
Software rendering isn't always the better option. Tomb Raider's underwater sections look noticeably better accelerated. Still, for most of the games the author cares about, the software renderer is the preferred choice. Ion Fury, a 2019 Build engine game, still ships with one.
The catch is that software rendering scales with the CPU, so high VESA resolutions demand a lot of processing power. Modern hardware handles most of it, but the heaviest games still strain very fast machines. The author argues that the best way to see these games is on the fastest machine that still runs them.
Source: Hacker News · Summarized by HeadlinesBriefing