Был рассмотрен также HSR-метод построчного сканирования, в котором повторное рисование пикселов отсутствует. Вместо этого в данном методе для каждого пиксела из всех граней сцены определяется ближайшая к наблюдателю «в этом пикселе», и эта грань рисуется только один раз. В этом методе используются также связность граней и связность строк развертки (поскольку ближайшая грань стремится остаться таковой на целом участке строки развертки), что позволяет за одни раз закрашивать целые «серии» пикселов; это обстоятельство существенно ускоряет процесс рисования.

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

Мы познакомились с методом удаления невидимых линий (HSL), который особенно подходит для устройств, не допускающих стирание линий или рисование поверх старых линий. Этот алгоритм проверяет видимость каждого ребра относительно всех лицевых граней модели. Поскольку геометрическое тестирование ребра относительно грани может оказаться сложным, выполняются серии тестов возрастающей сложности - до тех пор, пока не будет найден ответ. Ребро, лежащее частично позади грани, можно разделить на несколько кусков, каждый из которых должен обрабатываться поочередно. Для организации этого процесса используется знакомая технология сохранения в стеке «всего, что еще будет обрабатываться».

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


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