Прорыв в графике: применение OpenGL в играх
Quake от id Software стал одной из первых полноценных трехмерных игр, в которых не только мир имел три измерения, а все остальное было представлено спрайтами. И уж точно Quake был первым полностью трехмерным шутером с видом от первого лица. Вы могли играть как с софтверным рендерингом, который был визуально четче (хотя по текущим меркам и выглядит как хоррор-ретекстур Minecraft), либо использовать OpenGL, если ваша видеокарта позволяла такую роскошь: фильтрация текстур и улучшенные спецэффекты были к вашим услугам.
Источник:
Первые наметки динамического освещения, покадрово анимированные 3D-модели (именно поэтому Quake и Quake 2 кажутся такими дерганными), использование аппаратного ускорения… В общем, прорыв по всем фронтам. Больше спецэффектов можно было увидеть разве что в Need for Speed 2 и Need for Speed 3, вышедших через год и два спустя: там добавились первые отражения на кузовах автомобилей и имитация работающих фар в ночных гонках.
Магия Voodoo
Технически 3Dfx Voodoo был именно 3D-ускорителем, а не видеокартой: выводить изображение на дисплей не умел, требовал отдельный видеоадаптер. Но это не помешало перевернуть рынок буквально за один год.
Источник:
Представьте: до 1996 около 50% на рынке занимали видеоускорители S3, а спустя год почти в 80% новых компьютеров стояла графика от 3Dfx. В чем секрет столь ошеломительного успеха? 3Dfx Voodoo один из первых реализовал современный подход к отрисовке кадра, который применяется до сих пор и называется «отсроченный рендеринг».
Источник:
Как вы уже знаете, для бесперебойной и быстрой работы в современных видеокартах используется уйма технологий-обманок, которые всеми силами стараются выдавить из себя результат, близкий к физически правильному, задействуя минимум ресурсов: честные расчеты слишком дороги.
Источник:
А самая большая экономия ресурсов достигается, когда ничего не делаешь, и для вычислительной техники середины 90-х это было как нельзя кстати. Компания VideoLogic изобрела такой процесс отрисовки, который устранял необходимость в огромном Z-буфере для определения видимости того или иного пикселя. Все, что было скрыто от глаз наблюдателя, отсекалось на этапе построения геометрии, и текстуры наносились только на полученную усеченную картинку, а не на весь кадр даже там, где пользователь ничего не увидит. Voodoo работала именно по такой схеме, и это маленькое улучшение позволило разбить всех конкурентов в пух и прах: в 3D-операциях еще целый год никто не мог ничего противопоставить магии Voodoo. Динамичные игры воспроизводились так круто, как никогда раньше:
Собственный софт
Единственным живым конкурентом для OpenGL и DirectX стал фирменный Glide API от 3Dfx, который позволял переложить многие операции на фирменный ускоритель. Во многом он был похож на OpenGL, от которого и произошел, но содержал крайне ограниченный набор инструментов: размещение треугольников, заполнение их текстурами, отрисовка готового кадра. Этот минимум, в отличие от многообразия функций «больших библиотек» удалось реализовать аппаратно, и игры с поддержкой Glide щеголяли сглаженными текстурами, новыми на тот момент спецэффектами, связанными с динамическим освещением некоторых объектов и стабильно высоким FPS.