Метод Z-буфера

Метод основывается на использовании дополнительного массива, буфера в памяти, в котором сохраняются координаты для каждого пиксела растра. Координата отвечает расстоянию точек пространственных объектов до плоскости проецирования.

Рассмотрим алгоритм рисования объектов согласно этому методу. Пусть, чем ближе точка в пространстве к плоскости проецирования, тем больше значе­ние . Тогда сначала -буфер заполняется минимальными значениями. Потом начинается вывод всех объектов. Причем не имеет значение порядок вывода объектов. Для каждого объекта выводятся все его пикселы в любом порядке. Во время вывода каждого пиксела по его координатам находится текущее значение в -буфере. Если рисуемый пиксел имеет большее значе­ние , чем значение в -буфере, то это означает, что эта точка ближе к объек­ту. В этом случае пиксел действительно рисуется, а его -координата запи­сывается в -буфер. Таким образом, после рисования всех пикселов всех объектов растровое изображение будет состоять из пикселов, которые соответствуют точкам объектов с самыми большими значениями координат , то есть видимые точки – ближе всех к нам.

Этот метод прост и эффективен благодаря тому, что не нужно ни сортировать объекты, ни сортировать их точки. При рисовании объектов, которые описываются многогранниками или полигональными сетками, манипуляции со значениями -буфера легко совместить с выводом пикселов заполнения полигонов плоских граней.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: