Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Карта ambient occlusion (среднее изображение) для этой сцены затемняет только самые внутренние углы углов.

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

Окружающую окклюзию можно рассматривать как значение доступности, которое рассчитывается для каждой точки поверхности. [2] В сценах с открытым небом это делается путем оценки количества видимого неба для каждой точки, в то время как в помещениях учитываются только объекты в пределах определенного радиуса, а стены считаются источником окружающей среды. свет. В результате получается рассеянный ненаправленный эффект затенения, который не отбрасывает четких теней, но затемняет закрытые и защищенные области и может повлиять на общий тон визуализированного изображения. Его часто используют как эффект постобработки .

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

Первый метод, который позволил имитировать ambient occlusion в реальном времени, был разработан отделом исследований и разработок Crytek ( CryEngine 2 ). [3] С выпуском оборудования, способного отслеживать лучи в реальном времени ( серия GeForce 20 ) от Nvidia в 2018 году, трассировка лучей Ambient Occlusion (RTAO) стала возможной в играх и других приложениях реального времени. [4] Эта функция была добавлена ​​в Unreal Engine с версией 4.22. [5]

Реализация [ править ]

На анимации справа включена 3D-анимация окружающей окклюзии.

При отсутствии окружающего окклюзии с аппаратной трассировкой лучей приложения реального времени, такие как компьютерные игры, могут использовать окклюзию окружающего пространства экрана (SSAO) или окклюзию окклюзии на основе горизонта (HBAO) в качестве более быстрого приближения к истинной окклюзии окружающей среды с использованием глубины пикселя. вместо геометрии сцены для формирования карты окклюзии окружающей среды .

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

Модель затенения ambient occlusion предлагает лучшее восприятие трехмерной формы отображаемых объектов. Это было показано в статье, где авторы сообщают о результатах экспериментов по восприятию, показывающих, что различение глубины при рассеянном равномерном освещении неба превосходит то, что предсказывается моделью прямого освещения. [6]

Окклюзию в точке на поверхности с нормалью можно вычислить путем интегрирования функции видимости по полусфере относительно спроецированного телесного угла:

где - функция видимости в точке , определяемая как ноль, если она закрыта в направлении, и единица в противном случае, и является бесконечно малым шагом телесного угла переменной интегрирования . Для аппроксимации этого интеграла на практике используются различные методы: возможно, наиболее простой способ - использовать метод Монте-Карло , отбрасывая лучи из точки и проверяя пересечение с другой геометрией сцены (например, литье лучей ). Другой подход (более подходящий для аппаратного ускорения) - визуализировать представление с помощью растеризации.черная геометрия на белом фоне и усреднение растеризованных фрагментов (взвешенное по косинусу). Этот подход является примером подхода «собирание» или «наизнанку», тогда как другие алгоритмы (такие как ambient occlusion на карте глубины) используют методы «рассеивания» или «снаружи внутрь».

В дополнение к значению внешней окклюзии часто генерируется вектор «изогнутой нормали» , который указывает в среднем направлении незакупленных образцов. Изогнутая нормаль может использоваться для поиска падающей яркости на карте окружающей среды для приблизительного освещения на основе изображения . Однако есть некоторые ситуации, в которых направление изогнутой нормали неверно отражает доминирующее направление освещения, например,

В этом примере изогнутая нормаль N b имеет неудачное направление, так как она указывает на перекрывающуюся поверхность.

В этом примере свет может достигать точки p только с левой или правой стороны, но изогнутая нормаль указывает на среднее значение этих двух источников, которое, к сожалению, направлено прямо к препятствию.

Варианты [ править ]

SSAO
Окклюзия экранного пространства
SSDO
Направленная окклюзия экранного пространства
RTAO
Окклюзия окружающей среды с трассировкой лучей
HDAO
Окклюзия высокой четкости
HBAO +
Окклюзия на основе горизонта +
AAO
Окклюзия алхимии
ABAO
Окклюзия на основе угла
PBAO
Предварительно запеченная Ambient Occlusion
VXAO
Ускоренная окклюзия вокселя
GTAO
Окклюзия на основе наземной истины [7]

Признание [ править ]

В 2010 году Хайден Лэндис, Кен Макгоу и Хилмар Кох были удостоены награды Научно-технической академии за свою работу по рендерингу ambient occlusion. [8]

См. Также [ править ]

  • Глобальное освещение
  • Фотонное отображение
  • Лучистость
  • трассировка лучей
  • Рендеринг с высоким динамическим диапазоном

Ссылки [ править ]

  1. ^ «Что такое Ambient Occlusion? Имеет ли значение в играх?» .
  2. ^ Миллер, Гэвин (1994). «Эффективные алгоритмы затенения локальной и глобальной доступности». Материалы 21-й ежегодной конференции по компьютерной графике и интерактивной технике . С. 319–326.
  3. ^ "AMBIENT OCCLUSION: РАСШИРЕННОЕ РУКОВОДСТВО ПО ЕГО АЛГОРИТМАМ И ИСПОЛЬЗОВАНИЮ В VR" . ARVIlab . Проверено 26 ноября 2018 .
  4. ^ Окружающая окклюзия с трассировкой лучей . Nvidia.
  5. ^ «Unreal Engine добавляет поддержку трассировки лучей DX12» . ExtremeTech .
  6. ^ Лангер, MS; HH Buelthoff (2000). «Различение глубины от затемнения при рассеянном освещении». Восприятие . 29 (6): 649–660. CiteSeerX 10.1.1.69.6103 . DOI : 10,1068 / p3060 . PMID 11040949 .  
  7. ^ "Практические стратегии в реальном времени для точной косвенной окклюзии" (PDF) .
  8. Оскар 2010: научно-технические награды , Alt Film Guide , 7 января 2010 г.