http://chapurin.kiev.ua/malokaloriynyiy_chizkeyk/.

Пишем портальный рендерер (часть I)

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

Рис. 7.3

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

Портал представляет собой обычный многоугольник, с которым связано указание на комнату, в которую он ведет. Удобно также добавить в него указание на комнату, в которой он содержится. Поэтому класс Portal можно унаследовать от класса Polygon3D, добавив необходимые поля и методы доступа к ним. В связи с этим нет необходимости отдельно хранить обычные грани и порталы, все их можно поместить в общий массив (объект класса Array).

Ниже приводится описание этого класса.

class Portal "opengl6_138.html">⇐ Предыдущая| |Следующая ⇒