Аналитика

Ты помнишь, как все начиналось?

1997 год в летописи ПК неразрывно связан с именем компании 3dfx и ее революционного продукта — платы Voodoo Graphics, которая была пределом мечтаний каждого геймера той поры и дала старт триумфальному шествию 3D-графики в мире персональных компьютеров (на самом деле, Voodoo была представлена в декабре 1996-го, но именно в следующем году началось все самое интересное). Чтобы в полной мере оценить историческую значимость Voodoo в столь отдаленный от описываемых событий момент, стоит рассказать, в каком состоянии тогда находились технологии 3D-рендеринга. Для этого придется углубиться в историю немного дальше и вспомнить об иных, подчас экзотических на современный взгляд, устройствах, которые появились на свет еще до дебюта Voodoo Graphics.

Создавать трехмерное изображение в реальном времени с помощью чипов специального назначения умели и до 3dfx, но довольно долго подобные технологии были привилегией рабочих станций, аркадных автоматов и домашних игровых приставок. Сегодня игроки на ПК нередко винят консоли, вечно отстающие в своем развитии от мощностей дискретных видеокарт, когда тот или иной проект прекрасно выглядит в виде бета-версии, но на пути к релизу теряет часть визуальной роскоши для того, чтобы уравнять возможности нескольких игровых платформ. В начале-середине 90-х годов все было наоборот. На персоналках преобладал программный метод рендеринга в реальном времени, а в прессе обязательно сообщали, поддерживает ли та или иная игра 3D-акселерацию — в большинстве случаев эта функция была необязательной. Даже Quake, вышедший в 1996 году, — первый шутер в «честном» 3D, и уже абсолютно современная по своим основным принципам игра — был опубликован без поддержки каких-либо методов ускорения и лишь потом получил совместимость с API OpenGL.

Аппаратная 3D-графика впервые стала доступна массам в игровых автоматах образца 1992 года. Владельцы домашних консолей пятого поколения (Sega Saturn, Sony PlayStation и Nintendo 64) тоже наслаждались пусть и чрезвычайно грубым по современным стандартам, но отрисованным в железе трехмерным изображением. Даже исполнение ранних стадий конвейера рендеринга — трансформация и освещение полигонов (T&L) — было реализовано в кремнии игровых автоматов и консолей (здесь отличилась Nintendo 64) за годы до того, как этой вехи достигли игровые видеокарты (NVIDIA GeForce 256 и ATI Radeon 7000 появились лишь в 1999–2000 годах).

После того как в консолях прогремела революция 3D-графики, производители компьютерного железа попытались вывести на рынок оборудование, которое могло бы предложить геймерам сопоставимый уровень быстродействия и функции, для которых требовалась вычислительная мощь, недоступная в рамках программного рендеринга на распространенных в тот момент CPU, — такие как 16-битное представление цвета, билинейная и трилинейная фильтрация. Вопреки репутации Voodoo Graphics как самого первого 3D-ускорителя для ПК, к моменту его появления на потребительском рынке уже существовали несколько устройств, сочетающих функции аппаратного рендеринга графического интерфейса Windows с конвейером трехмерной графики. Задача перечислить все ранние ускорители выходит за рамки данной статьи — их было выпущено немало, поэтому ограничимся наиболее известными устройствами.

Так, один из первых массовых 3D-ускорителей выпустила компания S3 — в то время это был признанный и респектабельный производитель видеокарт с ускорением растровой (2D) графики, а ныне — «дочка» тайваньской HTC. Впрочем, видеокарты семейства S3 ViRGE, увидевшие свет в 1995 году, ускорителями 3D-графики в буквальном смысле этого слова не были в силу посредственной производительности в реальных сценариях использования. Лучших результатов достигли продукты Matrox (видеокарта Matrox Mistique), а также небольшой на тот момент компании ATI (семейство 3D Rage).

Видеокарта Diamond Stealth3D 2000 на чипе S3 ViRGE/325

Видеокарта Diamond Stealth3D 2000 на чипе S3 ViRGE/325

Но самой перспективной платформой для игрового 3D-рендеринга в то время считался чип Vérité V1000 от Rendition. Именно на его проприетарный API поначалу ориентировались создатели Quake, пусть в итоге 3D-акселерация игры пришла в форме универсального OpenGL. Вплоть до пришествия Voodoo этот ускоритель обладал наивысшим уровнем быстродействия и функциональности. Так, устройство оперировало 16-битным цветом, поддерживало билинейную фильтрацию текстур, MIP-текстурирование и краевое сглаживание (Edge Anti-Aliasing). В отличие от распространенных сегодня методов полноэкранного сглаживания, Edge AA выполняется за счет рисования в плоскости экрана линий, наложенных на видимые границы полигонов. Любопытно, что сперва ранние реализации краевого сглаживания в игровых движках уступили место полноэкранным методам SSAA и MSAA, а сегодня сглаживание краев полигонов путем обработки конечного изображения является важной частью современных высокопроизводительных алгоритмов.

Vérité V1000 выделялся и с архитектурной точки зрения, т. к., в отличие от всех конкурирующих решений, устройство представляло собой программируемый RISC-процессор в сочетании с рядом блоков фиксированной функциональности, а не чистый ASIC (Application-Specific Integrated Circuit). Жаль только, что разработчики игр не оценили гибкость, которой обладает такая архитектура. Вы уже могли заметить тенденцию — многие из технологий, которые на сегодняшний день являются неотъемлемым атрибутом графических процессоров (такие как программируемый конвейер рендеринга в данном случае), в той или иной форме появились еще на заре аппаратно-ускоренного рендеринга, но cтали востребованы лишь много лет спустя.

Видеокарта Sierra Screamin' 3D на чипе Rendition Vérité V1000

Видеокарта Sierra Screamin' 3D на чипе Rendition Vérité V1000

Отдельного упоминания заслуживает и дебютный продукт ныне всемогущей NVIDIA — ускоритель STG2000 на чипе NV1, выпущенный на рынок в 1995 году под маркой Diamond Edge 3D. Но прежде чем мы расскажем, чем была столь замечательна эта видеокарта, сделаем краткое отступление. Если 3dfx Voodoo не был первым потребительским 3D-ускорителем, то какому устройству принадлежит эта честь? Дать точный ответ на этот вопрос сложнее, чем кажется, ведь даже простейший конвейер рендеринга был реализован в железе не целиком и сразу. К примеру, 2D-видеокарты Impression Plus и Millenium от Matrox еще в 1994 году умели обрабатывать трехмерное изображение, только в них отсутствовала возможность наложения текстур на полигоны, без которой немыслима современная графика. Так вот, первым из коммерческих доступных устройств для домашних ПК с поддержкой аппаратного текстурирования стал именно ускоритель Diamond Edge 3D на базе процессора NV1. Но на этом особенности первенца NVIDIA не заканчиваются.

NV1 — единственное устройство среди игровых 3D-ускорителей, когда-либо представленных для ПК, выполняющее рендеринг на основе четырехугольных примитивов. Стандартом для современных API являются примитивы треугольные, но в ту эпоху магистральная линия развития рендеринга в реальном времени еще не была определена. Построение моделей из четырехугольников имеет то преимущество, что такой примитив не обязательно должен быть плоским: вынос одной вершины из плоскости порождает фигуру со сложной поверхностью. Кроме того, в дополнение к базовым четырем вершинам примитива NV1 позволял указывать пять дополнительных вершин для формирования более детализированной геометрии. Недостаток такого подхода в том, что неплоские поверхности плохо сочетаются со стандартным методом наложения текстур, т. к. с целью избежать искажений, каждая уникальная форма в игре зачастую должна иметь собственную текстуру. Это не проблема для CAD-приложений, где четырехугольные примитивы по-прежнему в ходу, но, как пришлось убедиться NVIDIA, чрезмерно усложняет разработку и портирование игр, написанных с расчетом на рендеринг треугольниками.

Видеокарта Diamond EDGE 3D 2120 на чипе NVIDIA NV1

Видеокарта Diamond EDGE 3D 2120 на чипе NVIDIA NV1

Перспективной возможностью NV1 казался перенос игр с платформы Sega Saturn, где использовался аналогичный метод рендеринга, а сам STG2000 был фактическим аналогом игровой консоли в форм-факторе платы расширения. Помимо ускорения 3D-графики, карта выполняла ускорение растрового изображения, вывод звука и даже имела разъемы для подключения контроллеров Sega. Увы, Saturn не снискала успеха на консольном рынке, а после того, как Microsoft сделала выбор в пользу треугольников в API Direct3D, NVIDIA пришлось принять правила игры и остановить разработку чипа NV2 в пользу NV3, на основе которого компания позже выпустила ускоритель Riva 128.

Одним из факторов, который задержал появление массово доступных — нет, не GPU, этот термин введет в обиход NVIDIA лишь в 1999 году — ускорителей трехмерной графики на ПК, была экономика. Но как только отпускные цены памяти EDO DRAM снизились настолько, что производство совсем недешевых карт расширения для игр стало рентабельным предприятием, рынок компьютерной графики взорвала 3dfx, а затем несколько компаний столкнулись в борьбе за открывшуюся рыночную нишу.

Кто в итоге вышел победителем в этой гонке, мы прекрасно знаем: NVIDIA и ATI здравствуют по сей день (последняя — в виде Radeon Technologies Group, подразделения AMD), а 3dfx в результате ряда критических ошибок со стороны руководства, обанкротилась, и большинство ее ресурсов перешло в распоряжение той самой NVIDIA. Но именно бренд Voodoo Graphics на долгое время стал практически синонимом понятия «3D-ускоритель» благодаря непревзойденной производительности и широкой поддержке со стороны разработчиков игр.

Карта Diamond Monster 3D на чипсете Voodoo Graphics

Карта Diamond Monster 3D на чипсете Voodoo Graphics

Карта Voodoo Graphics была дорогим удовольствием для геймеров того времени. Сегодня никто не удивляется ценам свыше $700 за топовую видеокарту, но тогда далеко не все геймеры могли себе позволить 3D-ускоритель за сумму в $299 (такова была оригинальная цена Voodoo Graphics с 4 Мбайт EDO DRAM), тем более в России 90-х годов. Помимо беспрецедентной производительности, 3dfx помогло оправдать эту цену смелое и правильно решение выпустить Voodoo в виде отдельной платы расширения, которая для вывода изображения работала в тандеме с, собственно, видеокартой. В категории 2D-ускорителей тогда правили бал продукты S3 и высоко ценимые за качество изображения Matrox. Обладатели дорогих видеокарт оценили возможность частичного апгрейда, которую давала 3dfx, — в отличие от комбинированных 2D/3D-ускорителей предыдущих лет, которые зачастую принуждали идти на компромисс в четкости и скорости растрового изображения.

Вариант, который объединял логику 3dfx с 2D-чипом на одной плате (Voodoo Rush) пал жертвой неудачной архитектуры, и в 1998 году, когда вышла Voodoo 2, производитель вновь сделал ставку на дискретный 3D-ускоритель, который впервые предложил возможность объединить две платы в режиме SLI (Scan-Line Interleave). Эта концепция, под той же аббревиатурой, но с другим смыслом (Scalable Link Interface) воскресла много лет спустя благодаря появлению шины PCI Express.

Quake в OpenGL на Voodoo Graphics

Quake в OpenGL на Voodoo Graphics

Другой из сильных сторон продуктов 3dfx был собственный API под названием Glide. Поскольку в Glide была реализована только та функциональность, которой располагали чипы 3dfx, а код, написанный для Glide, был ближе к железу, нежели в универсальных, но недостаточно развитых на тот момент API Direct3D и OpenGL, все лучшие игры 90-х (и Quake 2, и Half-Life, и Unreal) поддерживали Glide. Таким образом 3dfx предвосхитила еще одну тенденцию современности — внедрение низкоуровневых интерфейсов программирования Mantle, Vulkan и Metal.

Видеокарта Diamond Viper V330 на чипе RIVA 128

Видеокарта Diamond Viper V330 на чипе RIVA 128

Современниками ускорителей Voodoo первого поколения и близкими соперниками по производительности были видеокарты NVIDIA RIVA 128 и 3D Rage Pro от ATI. RIVA 128 стала первым достижением NVIDIA после чрезвычайно интересного, но коммерчески неуспешного чипа NV1. Помимо впечатляющего быстродействия, устройство отличалось поддержкой повышенных разрешений экрана по сравнению с Voodoo, и качественным интегрированным 2D-ядром. Это была одна из первых видеокарт с поддержкой шины AGP, появившейся в системных платах для Pentium II. Что касается 3D Rage Pro, то в этой плате ATI также применила новый чип, совместимый с AGP, усовершенствованный со времен Rage первого поколения в отношении как производительности, так и функций рендеринга, что принесло ему поддержку интерфейса OpenGL, которой был лишен 3D Rage первого поколения. В то же время Rendition выпустила вторую и последнюю итерацию оригинальных ускорителей на базе программируемой RISC-архитектуры, Vérité V2000. По быстродействию Rendition вновь не смогла взяла высокую планку, заданную Voodoo Graphics, зато это был один из редких 3D-чипов того времени, способный выводить на экран 32-битный цвет..

Diamond Stealth II S220 на чипе Rendition Vérité V2100

Diamond Stealth II S220 на чипе Rendition Vérité V2100

Вопреки ауре легенды, окружающей названия 3dfx и Voodoo, признаем, что бум 3D-графики в сфере домашних ПК наверняка не миновал бы, даже в том случае, если бы такой компании никогда не существовало, а вместо нее прогремели другие (тоже хорошо известные нам) имена. И все же именно 3dfx сыграла ключевую роль в становлении компьютерных технологий и компьютерных игр как гигантской индустрии, которой они являются сегодня, да и в истории нашего сайта ей принадлежит особенное место. Читателям, которые присоединились к нам в не столь отдаленные годы, раскроем тайну — сайт 3DNews.ru изначально назывался не иначе, как 3dfx-ru.com.

Следующая страница → ← Предыдущая страница
Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Материалы по теме
⇣ Комментарии
Прежде чем оставить комментарий, пожалуйста, ознакомьтесь с правилами комментирования. Оставляя комментарий, вы подтверждаете ваше согласие с данными правилами и осознаете возможную ответственность за их нарушение.
Все комментарии премодерируются.
комментарии загружаются...