Существует модификация метода г-буфера, позволяющая работать с прозрачными объектами и использовать СБС-объекты - для каждого пиксела (х, у) вместо пары (с, 2) хранится упорядоченный по 2 список (С /, р1г), где / - степень прозрачности объекта, а р!г - указатель на объект, и сначала строится буфер, затем для С80-объектов осуществляется их раскрытие (см. метод трассировки лучей) и с учетом прозрачности рассчитываются цвета.
10.4.3. Алгоритмы упорядочения Подход, использованный ранее для построения графика функции двух переменных и основанный на последовательном выводе на экран в определенном порядке всех граней, может быть успешно использован и дня построения более сложных сцен.
Компьютерная графика. Полигональные модели Подобный алгоритм можно описать следующим образом sort objects by z for all objects
for all visible pixels paint
Тем самым методы упорядочения выносят сравнение по глубине за пределы циклов и производят сортировку граней явным образом.
Методы упорядочения являются гибридными методами, осуществляющими сравнение и разбиение граней в объектном пространстве, а для непосредственного наложения одной грани на другую использующими растровые свойства дисплея.
Упорядочим все лицевые грани таким образом, чтобы при их выводе в этом порядке получалось корректное изображение сцены. Для этого необходимо, чтобы для любых двух граней Р и Q та из них, которая при выводе может закрывать другую, выводилась позже. Такое упорядочение обычно называется back-to-front, поскольку сначала выводятся более далекие грани, а затем более близкие.
Существуют различные методы построения подобного упорядочения. Вместе с тем нередки и случаи, когда заданные грани упорядочить нельзя (рис. 10.27). Тогда необходимо произвести дополнительное разбиение граней так, чтобы получившееся после разбиения множество граней уже можно было упорядочить.
Заметим, что две любые выпуклые грани, не имеющие общих внутренних точек, можно упорядочить всегда. Для невыпуклых граней это в общем случае неверно (рис. 10.28).