Все остальное (кроме статического мира) представляет собой BSP-модели (двери, платформы), спрайты и полигональные модели (оружие, боеприпасы, игроки, противники).

Отдельные BSP-модели как бы "вклеиваются" в общее BSP-дерево, затем составляющие их грани отрезки добавляются в s-буфер.

Более сложные объекты, такие, как игроки и противники, в виде BSP-деревьев уже не могут быть представлены (их форма все время меняется). Поэтому они представлены в виде полигональных моделей (Alias models) - наборов большого количества текстурированных треугольных граней. Каждый такой объект имеет одну общую текстуру, и для каждой вершины треугольной грани на этой общей для всех граней текстуре задается соответствующая точка, и эта точка не меняется при изменении положения вершин треугольника в пространстве.

Это можно себе представить как если бы с реального объекта сняли кожу, распрямили ее, "натянули" полученную плоскую текстуру на каркасную модель объекта. При этом соответствие вершин граней и точек на текстуре при движении (изменении формы) модели не меняется.

Таким образом, alias model представляет собой набор вершин, набор треугольных граней, построенных на этих вершинах, текстуру и соответствие между вершинами и определенными точками текстуры.

Анимация модели заключается в изменении координат точек (вершин) модели, соответствующим образом меняются треугольные грани, но образы вершин на "шкуре" объекта не изменяются.

Для вывода всех He-BSP-объектов используется z-буфер. Когда по построенному s-буферу рисуется статическая сцена, одновременно по нему строится и z-буфер, на который потом накладываются все не-BSP модели.

Одной из особенностей игры является широкое использование в ней систем частиц (particle systems) для взрывов, разлетания брызг крови, дымовых следов от ракет и т. д., а также широкое использование в ней операций с плавающей точкой (вместо Компьютерная графика. Полигональные модели операций с фиксированной точкой). Правда, это дает выигрыш лишь для процессоров типа Pentium, на которые, впрочем, и рассчитана игра.


⇐ Предыдущая| |Следующая ⇒