Z-буферизация

Z-буферизация
Данные в Z-буфере

Z-буферизация — в компьютерной трёхмерной графике способ учёта удалённости элемента изображения. Представляет собой один из вариантов решения «проблемы видимости». Очень эффективен и практически не имеет недостатков, если реализуется аппаратно. Программно же существуют другие методы, способные конкурировать с ним: Z-сортировка («алгоритм художника») и двоичное разбиение пространства (BSP), но они также имеют свои достоинства и недостатки. Основной недостаток Z-буферизации состоит в потреблении большого объёма памяти: в работе используется так называемый буфер глубины или Z-буфер.

Z-буфер представляет собой двумерный массив, каждый элемент которого соответствует пикселу на экране. Когда видеокарта рисует пиксел, его удалённость просчитывается и записывается в ячейку Z-буфера. Если пикселы двух рисуемых объектов перекрываются, то их значения глубины сравниваются, и рисуется тот, который ближе, а его значение удалённости сохраняется в буфер. Получаемое при этом графическое изображение носит название z-depth карта, представляющая собой полутоновое графическое изображение, каждый пиксел которого может принимать до 256 значений серого. По ним определяется удалённость от зрителя того или иного объекта трехмерной сцены. Карта широко применяется в постобработке для придания объёмности и реалистичности и создаёт такие эффекты, как глубина резкости, атмосферная дымка и т.д. Также карта используется в 3д-пакетах для текстурирования, делая поверхность рельефной.

  • Примеры карт
Z-depth1.png
Z-depth2.png
Z-depth3.png
Z-depth4.png

Ниже представлен результат использования двух карт вместе. Здесь вторая карта снята из сцены, в которой первая выступила в качестве текстуры, выдавливающей поверхность.

Карта 1 Карта 2 Результат
Z-depth5.png
Z-depth6.png
Z-depth7.png


Разрядность буфера глубины оказывает сильное влияние на качество визуализации: использование 16-битного буфера может привести к геометрическим искажениям, например, эффекту «борьбы», если два объекта находятся близко друг к другу. 24, 32-разрядные буферы хорошо справляются со своей задачей. 8-битные почти никогда не используются из-за низкой точности.

Обычно изобретателем z-буфера считают Эдвина Катмулла, хотя эту идею описал ещё Вольфганг Штрассер в своей диссертации (1974).

Варианты

В Z-буфере в его классическом виде разрядная сетка буфера недостаточно точна на близких расстояниях. Для решения этой проблемы применяется w-буфер, в котором применяется не удалённость, а обратная ей величина (w=1/z). Что лучше применять — z-буфер или w-буфер — зависит от программы.

На современных видеоадаптерах работа с z-буфером отнимает немалую часть пропускной способности ОЗУ видеоадаптера. Для борьбы с этим применяют сжатие без потерь: сжатие/восстановление отнимает меньше ресурсов, чем обращение к памяти.

В начале кадра происходит заполнение буфера некоторым числом (например, числом 1,0). Это также отнимает некоторую долю машинного времени, поэтому часто поступают так: первый кадр буферизация настраивается так, чтобы глубина ближних объектов была 0,0, а дальних — 0,5. Второй кадр — от 1,0 до 0,5. Это снижает точность на 1 бит, но позволяет избавиться от очистки буфера.

Z-буфер и сортировка

Хотя z-буфер предназначен именно для того, чтобы обойтись без сортировки видимых граней, скорость работы z-буфера серьёзно зависит от сортировки объектов. Дело в том, что для отбракованного пикселя не запускаются алгоритмы просчёта цвета — текстурирование, освещение и шейдеры. Поэтому для оптимальной работы рендерера, использующего z-буфер, рекомендуется отсортировать видимые объекты в порядке удаления (хотя бы приблизительно).



Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Z-буферизация" в других словарях:

  • Буферизация (информатика) — Буферизация (от англ. buffer) метод организации обмена, в частности, ввода и вывода данных в компьютерах и других вычислительных устройствах, который подразумевает использование буфера для временного хранения данных. При вводе данных одни… …   Википедия

  • Буферизация — (от англ. buffer) метод организации обмена, в частности, ввода и вывода данных в компьютерах и других вычислительных устройствах, который подразумевает использование буфера для временного хранения данных. При вводе данных одни устройства или… …   Википедия

  • буферизация — сущ., кол во синонимов: 1 • буферовка (2) Словарь синонимов ASIS. В.Н. Тришин. 2013 …   Словарь синонимов

  • буферизация — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN buffering …   Справочник технического переводчика

  • буферизация ввода-вывода — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN I/O buffering …   Справочник технического переводчика

  • буферизация входных и выходных потоков периферийных устройств (в многозадачных ОС) — Способ организации обмена, при котором все выводимые задачей данные временно запоминаются в буферном файле (для последующего независимого вывода); аналогично при вводе все данные, предназначенные для задачи, загружаются в буферный файл до ее… …   Справочник технического переводчика

  • буферизация потоков на печать — Процесс временного хранения выводимой на печать информации в буфере для того, чтобы программа пользователя могла закончить создание данных, не ожидая, пока принтер напечатает первую их порцию. [http://www.morepc.ru/dict/] Тематики информационные… …   Справочник технического переводчика

  • буферизация с перемещением данных — — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN move mode buffering …   Справочник технического переводчика

  • буферизация — tarpinis kaupimas statusas T sritis radioelektronika atitikmenys: angl. buffering; spooling vok. Pufferung, f rus. буферизация, f; откачка данных, f; подкачка данных, f pranc. spoulage, m; tamponnage, m …   Radioelektronikos terminų žodynas

  • буферизация — буфериз ация, и …   Русский орфографический словарь

  • Буферизация ввода-вывода — организация ввода вывода информации в ЭВМ, при которой все выводимые данные (например, электронная верстка полосы издания) запоминаются до окончания вывода в буферном файле. Аналогично при вводе все данные, предназначенные для электронной… …   Краткий толковый словарь по полиграфии


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»