Чтобы понять механизм Z-буферизации, известный также под
более описательным, но менее подходящим термином "глубин-
но-обусловленный алгоритм замещения пикселов" (the
depth-conditional replace-pixel algorithm), вы дожны немного
ознакомится с механизмом моделирования трехмерных объектов на
графических рабочих станциях.
Объект создается как совокупность смежных многогранников,
которая кажется твердым телом. Даже гладкие изогнутые поверх-
ности (например, сферы) будут на самом деле представлены нес-
колькими видами многогранников. Чем меньше части, на которые
дробится изогнутая поверхность, тем более гладкой она будет ка-
заться. (После учета других факторов, программа воспроизведения
изображения будет использовать специальные методы моделирования
освещения и полутонов, чтобы устранить плоский вид). До этого
момента не делалось попыток определить, какие пикселы или мно-
гогранники визуально накрыты другими.
Процессор преобразования изображений (transform engine)
переводит модель из трехмерной системы координат в двухмерные
координаты экрана; но каждый пиксел имеет еще и связанную с ним
глубину (или Z-значение) наряду с (x,y)-координатами и значени-
ем цвета. Результатом этого является список накладывающихся
двухмерных многогранников, которые расположены в расчетной
плоскости видеоэкрана. Список должен быть упорядочен по глуби-
не. Графические рабочие станции, разработанные для моделирова-
ния твердых тел, например Appolo DN 4500DVS, HP 9000 Series 835
TurboSRX, Silicon Graphics Personal Iris, имеют специальную ап-
паратную поддержку для выполнения этой работы. Другие системы
должны выполнять сортировку этого списка как часть прикладной
программы, только в этом случае многогранники будут нарисованы
в такой последовательности, которая гарантирует, что более уда-
ленные многогранники не накроют более близкие. Существует много
алгоритмов такой сортировки, но для моделей с большим числом
многогранников будет затрачено много времени. Более простой ме-
тод - сохранить значение глубины каждого пиксела в специальном
месте памяти, известном как Z-буфер.
|