Алгоритмы формирования изображения
7.1.2. Геометрическая обработка Цель геометрической обработки - определить, какие геометрические объекты подлежат отображению, и сформировать степень почернения или оттенок цвета этих объектов. В ходе геометрической обработки решается четыре связанные друг с другом подзадачи: нормализация (normalization), отсечение (clipping), удаление невидимых поверхностей (hidden-surface removal) и закрашивание (shading). После выполнения этих этапов обработки наступает очередь последнего - проективного преобразования трехмерной сцены в двухмерное изображение на картинной плоскости.
Первый этап геометрической обработки - преобразование описания объектов из системы координат пользователя в систему координат камеры или экрана. Учитывая, что геометрический процессор имеет дело с описаниями вершин, характеризующих отображаемые объекты, которые, в свою очередь, заданы в однородных координатах, на этом этапе выполняется последовательность аффинных преобразований. В большинстве графических систем при этом формируется и нормализованная зона видимости. Перспективная нормализация позволяет не только свести все виды проецирования к ортогональному, но и преобразует все виды сцены к ортогональным видам, что существенно упрощает задачу отсечения, как будет показано в разделе 7.6.
Преобразование геометрических объектов выполняется как в процессе моделирования (изменяется форма объекта и его положение в пространстве сцены), так и в процессе его визуализации. В конечном счете после растрового преобразования на экране в любом случае появляются только те объекты, которые находятся в зоне видимости, но было бы крайне неразумно подвергать все объекты растровому преобразованию и только после этого выяснить, что большая их часть не умещается на экране и все усилия на их обработку были потрачены впустую. Эту задачу нужно решить гораздо раньше.
Но даже если объект и находится в зоне видимости, совсем не обязательно, что его изображение появится на экране, - этот объект может быть закрыт от наблюдателя другими объектами. Алгоритмы удаления невидимых поверхностей или определения видимых поверхностей (visible-surface determination) основаны на анализе отношений в пространстве между объектами и реализуются как часть процесса геометрической обработки. Модель распределения освещенности, рассмотренная в главе 6, также оперирует с геометрической информацией для вычисления степени почернения или оттенка цвета, в частности необходимо знать ориентацию закрашиваемых поверхностей, т.е. направление вектора нормали. Следовательно, часть вычислений, связанных с закрашиванием, также реализуется в процессе геометрической обработки.