Оригинал материала: https://3dnews.ru./173265

NV1 в исторической перспективе. Firingsquad против Кармака

Автор: Дмитрий Захаров

Споры о том, кто правил миром 3D-графики в самом начале, не утихают и по сей день. Отдавая дань роли компании 3Dfx Interactive, теперь уже ставшей частью истории, не нужно забывать и другие эпохальные события, например, выпуск чипа NV1. Стал ли первый продукт NVIDIA революцией в мире объемной графики на ПК, попыткой сформировать новую область рынка или просто неудачно спроектированным решением?

 John Carmack Помимо корпоративной легенды NVIDIA, есть совпадающая с ней точка зрения журналистов сайта Firingsquad, где совсем недавно была опубликована статья "История NVIDIA", и оппозиционное мнение легендарного программиста id Software Джона Кармака johnc@idsoftware.com.

Firingsquad: "Выпущенный в 1995 году, NV1 и его модификация STG2000 были первыми "полными" мультимедиа-ускорителями. Оба чипа были идентичны за исключением того, что NV1 использовал высокопроизводительную VRAM, а STG2000 - более дешевую DRAM. Несмотря на то, что NV1 был первым продуктом NVIDIA, для свого времени он был весьма продвинутым решением: 2D- и 3D-графика, встроенный аудиопроцессор мощностью 350 MIPS и процессор ввода-вывода. Самой известным ускорителем на основе NV1 был Diamond EDGE 3D.

Когда чип NV1 был только представлен, многие из 3D-стандартов, которые сейчас кажутся непререкаемыми, еще принимались. Пока полигоны не были окончательно утверждены в качестве стандарта для 3D-игр, NVIDIA решила использовать другой способ формирования примитивов объемного изображения - Quadratic Texture Maps (кривые поверхности третьего порядка). Тогда как современным 3D-ускорителям требуется большое количество маленьких полигонов для воспроизведения гладкой поверхности, в NV1 использовались искривленные стороны полигонов. Это позволяло чипу отображать гладкие поверхности без особой нагрузки. Текстуры хранились в системной памяти и подавались через шину PCI или VESA Local Bus по мере необходимости - по тому же принципу через несколько лет будет работать AGP.

Однако первый продукт NVIDIA не состоял целиком из графического ядра. В NV1 была интегрирована микросхема для воспроизведения звука. С 32 каналами, 16-битным CD-качеством и аппаратным ускорением примитивного объемного звука, NV1 производила более сильное впечатление, чем многие PCI звуковые карты первого поколения. В качестве банка для MIDI (таблица MIDI была сертифицирована Fat Labs) использовалось 6 МБ системной памяти.

Вместо традиционного игрового порта на NV1 был размещен разъем, поддерживающий геймпады и джойстики от Sega Saturn, которые можно было использовать в любой совместимой с DirectInput игре, включая Virtua Fighter, Virtua Cop и Panzer Dragoon.

Хотя чип NV1 намного превосходил возможности конкурентов и был значительно перспективней, именно технология кривых поверхностей третьего порядка привела к его рыночной смерти. Когда Microsoft утвердила спецификации Direct3D, незадолго после того, как NV1 появился на полках магазинов, именно полигоны были выбраны в качестве стандартных примитивов. И, несмотря на все усилия NVIDIA и Diamond, разработчики больше не хотели ориентироваться на NV1. Компания Diamond даже пыталась увеличить число покупателей огромными скидками и включением в комплект поставки геймпада от Sega, но и это не принесло успеха.

С помощью Direct3D Microsoft практически уничтожила NVIDIA. Производители ПК отказывались ставить в машины видеокарты на чипе, несовместимом с Direct3D, и инженеры NVIDIA понимали, что не смогут вывести на рынок новый полигональный 3D-ускоритель. Компания ушла от общественного интереса и была вынуждена уволить несколько сотрудников.

Если бы тогда NVIDIA смогла обойти необходимость вводить поддержку Direct3D и продолжила использовать кривые поверхности третьего порядка..."


Фото "Diamond Edge 3D" из коллекции карт 3DNews.
Если кликнуть, то можно рассмотреть подробности в разрешении 1687x1049

Джон Кармак: "В статье написано, что технология кривых поверхностей третьего порядка могла бы стать на самом деле мощным свойством NV1, и Microsoft загубила хорошее начинание, утверждая в качестве примитивов треугольники. Гм, не совсем так.

Уже несколько лет NVIDIA развивается не в пример остальным графическим компаниям, но давайте не будем романтизировать былые дни. NV1 был полным отстоем, и он значительно повредил бы развитию 3D-ускорителей в будущем. Microsoft провела хорошую работу, вытесняя стандарт NVIDIA.

Существует негласное мнение, что кривые поверхности лучше, чем треугольники, потому что для формирования кривой поверхности нужно много треугольников. Конечно, кривые можно упростить до того, чтобы они выполняли роль треугольников, но это - значительная потеря пропускной способности.

К сожалению, тогда существовал целый ряд продуктов, у которых отсутствовала поддержка важнейших функций [рендеринга], однако было встроено подобие патчевых поверхностей, что требовало выравнивания текстур в соответствии с направляющей сеткой патча. Это похоже на производную от 2D-графики, где нормальное движение спрайтов дополняется их масштабированием, поворотом, проектированием и искривлением. По такой схеме работали продукты 3DO, Saturn и... NV1. Возможно некоторые люди сейчас работают над заменой стандартных методов формирования текстур, но они, скорее всего, делают ту же ошибку.

Без возможности разделять процессы текстурирования и геометрического преобразования, нельзя получить отсечение в самом общем смысле слова (не говоря даже о том, что отсечение кривой вне направляющей сетки приведет к нарушению ее структуры), и либо приходиться смиряться с тем, что плотность текселя широко варьируется, уменьшаясь иногда до точки, либо стыки текстур проявляются при каждой смене ее плотности. Никакой возможности повернуть текстуру на поверхности, или спроектировать ее на множество поверхностей. Нельзя заменить общие принципы, не говоря уже о треугольниках, такими примитивами.

Даже если отвлечься от теоретической стороны вопроса, у NV1 не было HSR (hidden surface removal - устранения скрытых поверхностей), края кривых не смыкались, не отсекались плоскости и не поддерживалась коррекция перспективы. Это было приспособление, а не инструмент.

Но это все - дело прошлое. NV20 рулит. :-)"

John Carmack



Оригинал материала: https://3dnews.ru./173265