Quake в DOS: процессор рисует каждый пиксель

Автор блога James MacKenzie называет одной из самых красивых картин в игре для DOS запуск Quake через программный рендерер в 800×600 на Dell OptiPlex 380: там игра держит стабильные 60 кадров в секунду.

При таком рендеринге каждый пиксель кадра вычисляет процессор: игра сама считает изображение и пишет его в видеопамять без видеокарты. Так работали Doom, Duke Nukem 3D, Blood и оригинальный Quake.

Автору нравится резкость: процессор обрабатывает текстуры попиксельно, поэтому каждый элемент остаётся чётким квадратом. Большинство таких игр использовали 256 цветов, а тени получались ступенями; технически это ограничение, но оно даёт грубую фактуру, которую аппаратный рендеринг сглаживает.

Это личное предпочтение, а не общее правило: в Blood автору понравились программные VESA-режимы, а в Tomb Raider ускоренная версия лучше выглядела в подводных сценах.

Главное ограничение — нагрузка на процессор: каждый новый пиксель требует вычислений. Современные машины справляются с большинством таких игр, но Shadow Warrior в 1600×1200, по оценке автора видео, не вполне тянет даже четырёхъядерный Xeon 3,3 ГГц.

Автору нужны именно оригинальные DOS-версии на реальном железе: через порты для Windows или DOSBox можно получить программный рендеринг, но некоторые игры там работают с проблемами, а быстрой машине с настоящей DOS не хватает звуковой карты.

Больше новостей из мира IT — в бесплатном Telegram-канале Frontier | IT: t.me/frontier_it

Quake в программном рендерере для DOS, где даже частицы квадратные. Все скриншоты в этой публикации сделаны автором.
Quake в программном рендерере для DOS, где даже частицы квадратные. Все скриншоты в этой публикации сделаны автором.
Руна на стене в Quake, где каждый тексель — чёткий квадрат
Руна на стене в Quake, где каждый тексель — чёткий квадрат
Лава, светящаяся сквозь проёмы в грязной каменной стене в Quake
Лава, светящаяся сквозь проёмы в грязной каменной стене в Quake
11