Z-буфер

Z-буфер
Данные в Z-буфере

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

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

Разрядность буфера глубины оказывает сильное влияние на качество отрисовки: использование 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, от Buff смягчать) ударный прибор, служащий для поглощения (амор …   Википедия

  • БУФЕР — англ. buffer, от to buff, толкать. Подушки, ослабляющие толчок при сближения двух вагонов. Объяснение 25000 иностранных слов, вошедших в употребление в русский язык, с означением их корней. Михельсон А.Д., 1865. БУФЕР механизм, ослабляет силу… …   Словарь иностранных слов русского языка

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

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

  • Буфер — область памяти для временного хранения промежуточных данных. Буфер реализуется программно или аппаратно и используется для согласования скоростей обработки при обмене информацией между быстро и медленнодействующими устройствами. По английски:… …   Финансовый словарь

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

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

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

  • буфер штампа — буфер Упругий элемент или узел штампа с упругим элементом, обеспечивающий необходимое усилие для прижима и (или) выталкивания штампуемой детали или заготовки. [ГОСТ 15830 84] Тематики оборуд. для бесстружечной обработки Обобщающие термины узлы и… …   Справочник технического переводчика

  • БУФЕР — (англ. buffer от buff смягчать толчки), приспособление для смягчения ударов на транспортных средствах (локомотивах, вагонах и др.). Автомобильный буфер называется бампером …   Большой Энциклопедический словарь


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

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