Окклюзия окружающей среды - Ambient occlusion

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

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

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

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

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

Реализация

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

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

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

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

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

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

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

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

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

Варианты

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

Признание

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

Смотрите также

использованная литература

  1. ^ «Что такое Ambient Occlusion? Имеет ли значение в играх?» .
  2. ^ Миллер, Гэвин (1994). «Эффективные алгоритмы затенения локальной и глобальной доступности». Материалы 21-й ежегодной конференции по компьютерной графике и интерактивной технике . С. 319–326.
  3. ^ «ОКРУЖАЮЩАЯ ОККЛЮЗИЯ: РАСШИРЕННОЕ РУКОВОДСТВО ПО ЕГО АЛГОРИТМАМ И ИСПОЛЬЗОВАНИЮ В 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 г.