История моделирования, но не Construction History
Давным-давно трехмерные модели были исключительно полигональными, поэтому у компьютерных художников не было особых проблем с выбором подходящих инструментов моделирования. Рахитичные компьютеры того времени еле ворочали скудное количество полигонов по экрану, так что моделировать приходилось частично вслепую, оценивая результат лишь по итогам рендеринга. Однако пытливые умы из рядов инженеров-конструкторов разработали для своих секретных нужд программы типа CAD (Computer Aided Design, дословно «дизайн с помощью компьютера»). Эти программы использовали параметрическое представление поверхностей и дали миру инструменты сплайнового моделирования. История умалчивает, как все было на самом деле, однако, по-видимому, группа товарищей-художников, зайдя «на чашку пива» к группе приятелей-инженеров, увидела в одночасье, что форму сложной поверхности можно гладко изменять с помощью лишь нескольких контрольных точек. Вот тут вся художественная команда явно призадумалась… В результате, так или иначе, появился новый класс методов моделирования и началось победное шествие сплайновых инструментов в индустрии компьютерной графики. К слову сказать, еще в 1999 году, когда я обучался в компании Alias - тогда еще Wavefront, сплайновые инструменты позиционировались как оружие будущего, а полигоны - как скромные труженики села. Про сабдивы тогда никто вслух еще не говорил. Боялись.
Тем не менее, за прошедшие пять лет концепция создания трехмерных моделей несколько изменилась. Во многом благодаря возросшей мощности компьютеров и новым методам вычисления неявных поверхностей.
Методы моделирования
Имеет смысл еще немного поговорить о различных методах создания трехмерных форм и их адекватном применении. Дальнейшие рассуждения отражают моё субъективное мнение на этот счет и никак не могут считаться категорическим императивом.
Так вот, вернемся к истории. Сплайновые поверхности имели массу достоинств перед полигонами. Прежде всего они были потрясающе легкие - при помощи нескольких контрольных точек, можно было задавать формы, требовавшие сотен и тысяч вершин в полигональном представлении. (Все написано в прошедшем времени для усиления литературного эффекта, но они, сплайновые поверхности, и сейчас все еще легкие.) Сплайны имели идеальные текстурные координаты, в отличие от адского процесса UV-маппинга полигонов. Они позволяли создавать гладкие сопряжения между поверхностями без всякой ручной работы! Их можно было гладко резать (тримировать). Список можно продолжить, читая рекламные брошюры тех лет.
Однако у сплайнов был маленький недостаток по сравнению с полигонами - объект не мог иметь произвольную топологию (или, если попроще, форму). Любая сплайновая поверхность всегда обязана быть сеткой из изопарм. Иначе говоря, сеткой из взаимно пересекающихся -параллельных» кривых. Даже сплайновая сфера представляет собой сетку из меридианов и параллелей, состоящую из прямоугольных ячеек. По-другому можно сказать, что сплайновую поверхность всегда можно развернуть в прямоугольную сетку, или наоборот, свернуть из прямоугольной сетки.