virtual void render ( const Polygon& area )= 0;
};

Внутренняя организация данных и метод рендеринга для каждой конкретной подсцены могут быть уникальными и наиболее подходящими к ее структуре. Так, для подсцен, которые являются внутренними помещениями, может использоваться метод BSP-деревьев или метод ^-буфера. Для подсцен, представляющих собой открытые участки пространства (к примеру, ландшафт), может быть удобна другая организация данных и рендеринга, например использование явной сортировки граней. При этом каждая подсцена, в свою очередь, может состоять из других подсцен.

В результате мы приходим к концепции иерархической сцены как объекта, состоящего из набора подсцен, соединенных порталами. Это является неким аналогом агрегатного объекта в методе трассировки лучей.

10. Удаление невидимых линий и поверхностей Упражнения

Модифицируйте алгоритмы построения графика функции двух переменных для работы при произвольных углах <ср\\ у/.

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

Реализуйте один из алгоритмов удаления невидимых линий (Робертса или Аппе-ля). Посмотрите, к какому выигрышу во времени приводит использование равномерного разбиения картинной плоскости.

Реализуйте алгоритм z-буфера. Напишите процедуру вывода грани в z-буфер, максимально использующую связность пикселов грани.

Покажите, что при использовании перспективного проектирования значения глубины для пикселов одной грани уже нелинейно зависят от координаты пиксела, в то время как величина, обратная глубине, изменяется линейно.

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

Модифицируйте алгоритм s-буфера для работы с полупрозрачными гранями.

Реализуйте в 5-буфере функцию проверки того, изменяет ли данная грань содержимое s-буфера, и на основе этого реализуйте метод иерархического s-буфера.

Реализуйте метод порталов для визуализации внутренности лабиринта типа, используемого в игре Descent.


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