Алгоритмы формирования изображения
нимать во внимание информацию о глубине и считать дальнейший участок строки принадлежащим образу многоугольника В. Более сложная ситуация возникает на строке ]. Сначала мы опять обнаруживаем ребро а и, не прибегая к анализу глубины, можем, начиная с этого пикселя, присваивать последующим код цвета, соответствующий окраске многоугольника А. Но далее встречается ребро с "конкурирующего" многоугольника, и здесь-то без анализа глубины не обойтись. Этот анализ придется проводить для всех пикселей строки ], пока не встретится ребро СІ, причем для анализа можно использовать описанный выше метод вычисления глубины в приращениях.
Хотя на первый взгляд кажется, что этот алгоритм во многом напоминает алгоритм г-буфера, между ними есть одно принципиальное отличие- алгоритм построчного сканирования при обработке каждого пикселя должен просматривать все многоугольники, претендующие на отображение в данной зоне экрана, а алгоритм г-буфера в каждый момент времени имеет дело только с одним многоугольником. Реализация алгоритма построчного сканирования требует тщательно продуманной организации данных о многоугольниках, которая позволит быстро отбирать среди них те, которые претендуют на отображение в текущей строке. Чаще всего структура данных базируется на массиве указателей, по одному на каждую строку, каждый из которых указывает на специальную структуру описания ребер многогранников, пересекаемых этой строкой.
7.8. Растровое преобразование Теперь перейдем к анализу методов выполнения завершающей стадии создания изображения - алгоритмам растрового преобразования примитивов и заполнения буфера кадра. Мы детально рассмотрим только два вида примитивов - отрезки и многоугольники, причем и те и другие заданы своими вершинами. Считаем, что все необходимые геометрические преобразования, в том числе и отсечение, уже выполнены и образы всех оставшихся примитивов должны включаться в конечное изображение сцены. Чтобы не отвлекаться, пренебрежем необходимостью удаления невидимых поверхностей и преобразуем каждый объект индивидуально, не используя информацию о его пр^транственных отношениях с другими объектами сцены. Будем также считать, что в результате проективного преобразования все вершины представлены только двумя координатами, причем в системе координат экрана.