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


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

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

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

В отличие от локальных методов, таких как затенение Фонга , 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
Предварительно запеченная окружающая окклюзия
VXAO
Ускоренная окклюзия вокселя
GTAO
Окклюзия на основе наземной истины [7]

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

  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 г.