Jump to content

Нерегулярный Z-буфер

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

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

Выполнение

[ редактировать ]

Классический алгоритм растеризации проецирует каждый многоугольник на плоскость изображения и определяет, какие точки выборки из набора с регулярными интервалами лежат внутри проецируемого многоугольника. Поскольку расположение этих выборок (т.е. пикселей) неявно, это определение может быть сделано путем проверки краев на неявной сетке точек выборки. Однако если точки выборки расположены неравномерно и не могут быть вычислены по формуле, то этот подход не работает. Нерегулярный Z-буфер решает эту проблему, явно сохраняя местоположения выборок в двумерной пространственной структуре данных , а затем запрашивая эту структуру, чтобы определить, какие выборки лежат внутри проецируемого треугольника. Этот последний шаг называется «нерегулярной растеризацией».

Хотя конкретная используемая структура данных может варьироваться от реализации к реализации, двумя изученными подходами являются kd-дерево и сетка связанных списков. Сбалансированная реализация kd-дерева имеет то преимущество, что она гарантирует доступ O(log(N)). Его главный недостаток состоит в том, что параллельное построение kd-дерева может быть затруднено, а обход требует дорогостоящих инструкций ветвления. Преимущество сетки списков состоит в том, что ее можно более эффективно реализовать на графического процессора аппаратном обеспечении , который предназначен в первую очередь для классического Z-буфера.

С появлением CUDA значительно улучшилась программируемость современного графического оборудования. Магистерская диссертация «Быстрая растеризация треугольников с использованием нерегулярного Z-буфера в CUDA» (см. Внешние ссылки) содержит полное описание реализации программного обеспечения для картирования теней на основе нерегулярного Z-буфера в CUDA. Система рендеринга полностью работает на графических процессорах. Он способен генерировать тени без искажений со скоростью десятков миллионов треугольников в секунду.

Приложения

[ редактировать ]

Нерегулярный Z-буфер можно использовать для любого приложения, требующего расчета видимости в произвольных местах плоскости изображения. Было показано, что он особенно хорош в картографировании теней — алгоритме пространства изображений для рендеринга жестких теней. Помимо рендеринга теней, потенциальные приложения включают адаптивное сглаживание , дрожающую выборку и картографирование среды .

См. также

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 46371cb2c0b4078c1e7be00c22202bc7__1721926680
URL1:https://arc.ask3.ru/arc/aa/46/c7/46371cb2c0b4078c1e7be00c22202bc7.html
Заголовок, (Title) документа по адресу, URL1:
Irregular Z-buffer - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)