http://chapurin.kiev.ua/malokaloriynyiy_chizkeyk/.
Пишем портальный рендерер (часть I)
Рис. 7.3
Следует иметь в виду, однако, что при этом для сцены с рис. 7.3 мы теряем загораживающую способность колонн в центре комнаты, но заметно выигрываем в уменьшении общего числа порталов и, следовательно, операций отсечения по ним.
Портал представляет собой обычный многоугольник, с которым связано указание на комнату, в которую он ведет. Удобно также добавить в него указание на комнату, в которой он содержится. Поэтому класс Portal можно унаследовать от класса Polygon3D, добавив необходимые поля и методы доступа к ним. В связи с этим нет необходимости отдельно хранить обычные грани и порталы, все их можно поместить в общий массив (объект класса Array).
Ниже приводится описание этого класса.
class Portal "opengl6_138.html">⇐ Предыдущая| |Следующая ⇒