Что это такое
В игре с программным рендерингом каждый пиксель рисует процессор. Видеокарта 3D не используется — весь кадр рассчитывается в коде игры и пишется прямо в видеопамять. Так работают Doom, Duke Nukem 3D, Blood и оригинальный Quake.
Когда появились 3D-карты, много игр получили ускоренные версии. После Quake пришла GLQuake, Blood и Tomb Raider получили режимы 3dfx. Эти версии перекладывают рисование на видеокарту, и выглядят они иначе.
Почему это нравится
Резкость. Программные рендеры обычно сэмплируют текстуры пиксель за пикселем, так что каждый texel остаётся чётким квадратиком. Ранние 3D-карты сглаживали текстуры билинейной фильтрацией, что в 1997-м выглядело впечатляюще, но сейчас размывает всё в кашу.

Грязь и текстура. Большинство этих игр работали в 256 цветах, освещение — через таблицы поиска в палитре. Тени падают видимыми ступеньками, а не плавными градиентами. Технически это posterize, ограничение. На практике это даёт играм грубую, грязную фактуру, которая мне очень нравится, а аппаратный рендер сглаживает.


Это то, ради чего создавались игры. Quake выпустили с программным рендером, GLQuake появилась позже. Doom и игры на Build Engine проектировались под программный рендер с самого начала.
Хотя это не всегда правильный выбор. Когда удалось поставить Voodoo 2 на современный ПК, Blood работала быстро в режиме 3dfx, но VESA-режимы программного рендера выглядели лучше. Tomb Raider — наоборот: подводные разделы заметно лучше смотрятся в ускоренной версии, чем в DOS-рендере. Это вопрос вкуса, а не правила. Но для большинства игр, которые мне интересны, я выбираю программный рендер.
И это не просто ностальгия. Ion Fury — игра на Build Engine 2019 года — всё ещё поставляется с программным рендером.
Главное препятствие: нужен быстрый ПК
Программный рендеринг масштабируется вместе с процессором. Каждый дополнительный пиксель — работа для CPU, поэтому высокие VESA-разрешения, доступные в поздних DOS-играх, были недостижимы на железе того времени.
Современное оборудование это переваривает. На OptiPlex 380 Quake на 800×600 держит ровные 60 fps. Но самые тяжелые игры давят даже очень быстрые машины. В видео про Portwell RUBY-9719 Rasteri показывает, что Build engine-игры требуют куда больше мощности на высоких разрешениях — даже 3.3GHz quad-core Xeon не совсем справляется с Shadow Warrior на полных 1600×1200.
Так что если хочешь видеть эти игры во всей красе, нужна самая быстрая машина из доступных.
Почему нужен native DOS
Есть и другие способы получить программный рендеринг на современном ПК. Source-порты Doom и Quake запускают программные рендеры в Windows, Ion Fury нативно работает на Windows. Они хороши.
Но нужны оригинальные DOS-версии, запущенные как они были выпущены, на реальном железе. DOSBox — очевидная альтернатива, но некоторые DOS-игры в нём ведут себя странно, а на реальном оборудовании работают как задумано.
Остаётся одна проблема: звук. Быстрая машина с native DOS нуждается в звуковой карте, с которой могут говорить игры, а в современных ПК её нет. Это отдельная история.
Какие игры стоит попробовать
- Quake, программный рендер на 800×600 и выше
- Duke Nukem 3D и Blood — игры на Build Engine на высоких VESA-разрешениях
- Screamer