технология кривых поверхностей третьего порядка могла бы стать на
самом деле мощным свойством NV1, и Microsoft загубила хорошее
начинание, утверждая в качестве примитивов треугольники. Гм, не совсем
так.
Уже несколько лет NVIDIA развивается не в пример остальным
графическим компаниям, но давайте не будем романтизировать былые дни.
NV1 был полным отстоем, и он значительно повредил бы развитию
3D-ускорителей в будущем. Microsoft провела хорошую работу, вытесняя
стандарт NVIDIA.
Существует негласное мнение, что кривые поверхности лучше, чем
треугольники, потому что для формирования кривой поверхности нужно
много треугольников. Конечно, кривые можно упростить до того, чтобы они
выполняли роль треугольников, но это - значительная потеря пропускной
способности.
К сожалению, тогда существовал целый ряд продуктов, у которых
отсутствовала поддержка важнейших функций [рендеринга], однако было
встроено подобие патчевых поверхностей, что требовало выравнивания
текстур в соответствии с направляющей сеткой патча. Это похоже на
производную от 2D-графики, где нормальное движение спрайтов дополняется
их масштабированием, поворотом, проектированием и искривлением. По
такой схеме работали продукты 3DO, Saturn и... NV1. Возможно некоторые
люди сейчас работают над заменой стандартных методов формирования
текстур, но они, скорее всего, делают ту же ошибку.
Без возможности разделять процессы текстурирования и
геометрического преобразования, нельзя получить отсечение в самом общем
смысле слова (не говоря даже о том, что отсечение кривой вне
направляющей сетки приведет к нарушению ее структуры), и либо
приходиться смиряться с тем, что плотность текселя широко варьируется,
уменьшаясь иногда до точки, либо стыки текстур проявляются при каждой
смене ее плотности. Никакой возможности повернуть текстуру на
поверхности, или спроектировать ее на множество поверхностей. Нельзя
заменить общие принципы, не говоря уже о треугольниках, такими
примитивами.
Даже если отвлечься от теоретической стороны вопроса, у NV1 не
было HSR (hidden surface removal - устранения скрытых поверхностей),
края кривых не смыкались, не отсекались плоскости и не поддерживалась
коррекция перспективы. Это было приспособление, а не инструмент.
|