Jump to content

Независимая от заказа прозрачность

Независимая от порядка прозрачность (OIT) — это класс методов растеризации компьютерной графики для рендеринга прозрачности в 3D-сцене, которые не требуют рендеринга геометрии в отсортированном порядке для альфа-композиции .

Описание

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

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

A -буфер — это метод компьютерной графики, представленный в 1984 году, который сохраняет попиксельные списки данных фрагментов (включая информацию о микрополигонах ) в программном растеризаторе REYES , первоначально разработанном для сглаживания, но также поддерживающем прозрачность.

В последнее время глубокий пилинг [1] в 2001 году описал метод OIT с аппаратным ускорением. Из-за ограничений графического оборудования геометрию сцены приходилось визуализировать много раз. Для улучшения производительности глубинного очищения был предложен ряд методов, все еще с ограничением многопроходного рендеринга. Например, «Двухглубинный пилинг» (2008 г.). [2]

В 2009 году в аппаратное обеспечение/драйверы/графические API графического процессора были введены две важные функции, которые позволили захватывать и сохранение данных фрагмента за один проход рендеринга сцены, что ранее было невозможно. Это возможность записи в произвольную память графического процессора из шейдеров и атомарных операций. Благодаря этим функциям новый класс стало возможным использование методов OIT, не требующих большого количества проходов рендеринга геометрии сцены.

  • Первый заключался в хранении данных фрагмента в 3D-массиве. [3] где фрагменты хранятся по измерению z для каждого пикселя x/y . сцены На практике большая часть 3D-массива не используется или переполнена, поскольку сложность глубины обычно неравномерна. Чтобы избежать переполнения 3D-массива, требуется большой объем памяти, что во многих случаях нецелесообразно.
  • Существуют два подхода к уменьшению этих затрат памяти.
    1. Упаковка 3D-массива с помощью сканирования суммы префиксов или линеаризации , [4] устранена проблема с неиспользуемой памятью, но требуется дополнительный этап вычисления сложности глубины для рендеринга геометрии. , S-буфер с учетом разреженности динамический буфер фрагментов, [5] «дек» D-буфер [ нужна ссылка ] , Линеаризованный многослойный буфер фрагментов [6] все данные фрагментов пакета со сканированием суммы префиксов и демонстрируются с помощью OIT.
    2. Хранение фрагментов в попиксельных связанных списках [7] обеспечивает плотную упаковку этих данных, а в конце 2011 года улучшения драйверов уменьшили накладные расходы на разногласия в атомарных операциях, что сделало этот метод очень конкурентоспособным. [6]

Именно ОИТ

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

Точный, в отличие от приблизительного , OIT точно вычисляет конечный цвет, для которого необходимо отсортировать все фрагменты. В сценах высокой сложности сортировка становится узким местом.

Одной из проблем на этапе сортировки является ограниченное использование локальной памяти , в данном случае атрибут SIMT, относящийся к сокрытию пропускной способности и задержки операций графических процессоров. Обратное распределение памяти [8] (BMA) группирует пиксели по их сложности глубины и сортирует их партиями для улучшения занятости и, следовательно, производительности пикселей с низкой сложностью глубины в контексте сцены потенциально высокой сложности глубины. Сообщается о трехкратном увеличении общей производительности OIT.

Сортировка обычно выполняется в локальном массиве, однако производительность можно повысить еще больше, используя иерархию памяти графического процессора и сортировку по регистрам. [9] аналогично внешней сортировке слиянием , особенно в сочетании с BMA.

Примерный ОИТ

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

Приближенные методы OIT ослабляют ограничения точного рендеринга и обеспечивают более быстрые результаты. Более высокую производительность можно получить, если не хранить все фрагменты или выполнять лишь частичную сортировку геометрии. Ряд методов также сжимает или уменьшает фрагментированные данные. К ним относятся:

  • Стохастическая прозрачность: рисуйте в более высоком разрешении с полной непрозрачностью, но отбрасывайте некоторые фрагменты. Тогда понижение разрешения приведет к прозрачности. [10]
  • Адаптивная прозрачность, [11] двухпроходный метод, при котором первый создает функцию видимости, которая сжимает на лету (это сжатие позволяет избежать полной сортировки фрагментов), а второй использует эти данные для объединения неупорядоченных фрагментов. Intel Синхронизация пикселей [12] позволяет избежать необходимости хранить все фрагменты, устраняя требования к неограниченной памяти, присущие многим другим методам OIT.
  • Взвешенная смешанная независимая от порядка прозрачность заменила оператор над коммутативной аппроксимацией. Ввод информации о глубине в вес создает визуально приемлемую окклюзию. [13]

OIT в аппаратном обеспечении

[ редактировать ]
  • Игровая консоль Sega Dreamcast включала аппаратную поддержку автоматического OIT. [14]

См. также

[ редактировать ]
  1. ^ Эверитт, Касс (15 мая 2001 г.). «Интерактивная прозрачность, независимая от порядка» . Нвидиа . Архивировано из оригинала 27 сентября 2011 г. Проверено 12 октября 2008 г.
  2. ^ Бавуаль, Луи (февраль 2008 г.). «Заказать независимую прозрачность с двойной глубиной пилинга» (PDF) . Нвидиа . Проверено 12 марта 2013 г.
  3. ^ Фан Лю, Мэн-Чэн Хуан, Сюэ-Хуэй Лю и Энь-Хуа Ву. «Однопроходная глубинная очистка с помощью растеризатора CUDA» , в SIGGRAPH 2009: Talks (SIGGRAPH '09), 2009 г.
  4. ^ Крейг Пипер. «Проход суммы префикса для линеаризации хранилища A-буфера» , заявка на патент, декабрь 2008 г.
  5. ^ Марилена Мауле, Жоао Л.Д. Комба, Рафаэль Торчелсен и Руй Бастос. «Оптимизированная для памяти прозрачность, независимая от порядка, с динамическим буфером фрагментов» , в журнале «Компьютеры и графика», 2014.
  6. ^ Jump up to: а б Пьярелал Ноулз, Джефф Лич и Фабио Замбетта. «Глава 20: Эффективные методы многоуровневого буфера фрагментов» , OpenGL Insights, страницы 279–292, редакторы Коцци и Риччио, CRC Press, 2012 г.
  7. ^ Джейсон С. Янг, Джастин Хенсли, Хольгер Грюн и Николас Тибероз. «Построение параллельного связанного списка в реальном времени на графическом процессоре» , В материалах 21-й конференции Eurographics по рендерингу (EGSR'10), 2010 г.
  8. ^ Ноулз; и др. (октябрь 2013 г.). «Обратное распределение памяти и улучшенный OIT» (PDF) . Цифровая библиотека Еврографики . Архивировано из оригинала (PDF) 2 марта 2014 г. Проверено 21 января 2014 г.
  9. ^ Ноулз; и др. (июнь 2014 г.). «Быстрая сортировка для точного OIT сложных сцен» (PDF) . Шпрингер Берлин Гейдельберг . Архивировано из оригинала (PDF) 9 августа 2014 г. Проверено 5 августа 2014 г.
  10. ^ Эндертон, Эрик (nd). «Стохастическая прозрачность» (PDF) . Транзакции IEEE по визуализации и компьютерной графике . 17 (8). Нвидиа : 1036–1047. дои : 10.1109/TVCG.2010.123 . ПМИД   20921587 . Проверено 12 марта 2013 г.
  11. ^ Сальви; и др. (18 июля 2013 г.). «Адаптивная прозрачность» . Проверено 21 января 2014 г.
  12. ^ Дэвис, Ли (18 июля 2013 г.). «Аппроксимация прозрачности, независимая от порядка, с синхронизацией пикселей» . Интел . Проверено 21 января 2014 г.
  13. ^ Макгуайр, Морган; Бавуаль, Луи (2013). «Взвешенная смешанная прозрачность, независимая от порядка» . Журнал методов компьютерной графики . 2 (2): 122–141.
  14. ^ «Оптимизация производительности Dreamcast Microsoft Direct3D» . Майкрософт . 1 марта 1999 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 54c1b71e7f226b953666ea1c511fad25__1717855860
URL1:https://arc.ask3.ru/arc/aa/54/25/54c1b71e7f226b953666ea1c511fad25.html
Заголовок, (Title) документа по адресу, URL1:
Order-independent transparency - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)