Окклюзия окружающей среды - Ambient occlusion
В 3D компьютерной графики , моделирования и анимации , окружающего окклюзия является затенения и рендеринга метод , используемый для расчета , как подвергается каждая точка в кадре является окружающее освещение . Например, внутренняя часть трубки обычно более закрыта (и, следовательно, темнее), чем обнаженные внешние поверхности, и становится темнее, чем глубже она проходит внутрь трубки.
Окружающую окклюзию можно рассматривать как значение доступности, которое рассчитывается для каждой точки поверхности. В сценах с открытым небом это делается путем оценки количества видимого неба для каждой точки, в то время как в помещениях учитываются только объекты в пределах определенного радиуса, а стены считаются источником окружающего света. В результате получается диффузный ненаправленный эффект затенения, который не отбрасывает четких теней, но затемняет закрытые и защищенные области и может повлиять на общий тон визуализированного изображения. Его часто используют как эффект постобработки .
В отличие от локальных методов, таких как затенение Фонга , ambient occlusion - это глобальный метод, означающий, что освещение в каждой точке является функцией другой геометрии сцены. Однако это очень грубое приближение к полному глобальному освещению . Внешний вид, достигаемый только за счет окружающей окклюзии, подобен тому, как объект может появиться в пасмурный день.
Первый метод, позволяющий моделировать окружающее окклюзию в реальном времени, был разработан отделом исследований и разработок Crytek ( CryEngine 2 ). С выпуском оборудования, способного отслеживать лучи в реальном времени ( серия GeForce 20 ) от Nvidia в 2018 году, окружающая окклюзия с трассировкой лучей (RTAO) стала возможной в играх и других приложениях реального времени. Эта функция была добавлена в Unreal Engine с версией 4.22.
Реализация
При отсутствии окружающего окклюзии с аппаратной трассировкой лучей приложения реального времени, такие как компьютерные игры, могут использовать окклюзию окружающего пространства экрана (SSAO) или окклюзию окклюзии на основе горизонта (HBAO) в качестве более быстрого приближения к истинной окклюзии окружающего света с использованием пер- глубина пикселя , а не геометрия сцены, чтобы сформировать карту окклюзии окружающей среды .
Окружающая окклюзия связана с затенением доступности, которое определяет внешний вид в зависимости от того, насколько легко можно коснуться поверхности различными элементами (например, грязью, светом и т. Д.). Он был популяризирован в производственной анимации из-за своей относительной простоты и эффективности.
Модель затенения ambient occlusion предлагает лучшее восприятие трехмерной формы отображаемых объектов. Это было показано в статье, в которой авторы сообщают о результатах экспериментов по восприятию, показывающих, что различение глубины при рассеянном равномерном освещении неба превосходит то, что предсказывается моделью прямого освещения.
Окклюзия в точке на поверхности с нормалью может быть вычислена путем интегрирования функции видимости по полусфере относительно спроецированного телесного угла:
где - функция видимости в точке , определяемая как ноль, если она закрыта в направлении, и единица в противном случае, и является бесконечно малым шагом телесного угла переменной интегрирования . Для аппроксимации этого интеграла на практике используются различные методы: возможно, наиболее простой способ - использовать метод Монте-Карло , отбрасывая лучи из точки и проверяя пересечение с другой геометрией сцены (например, литье лучей ). Другой подход (более подходящий для аппаратного ускорения) - визуализация вида с помощью растеризации черной геометрии на белом фоне и взятия среднего (косинусно-взвешенного) растеризованных фрагментов. Этот подход является примером подхода «собирание» или «наизнанку», тогда как другие алгоритмы (такие как ambient occlusion на карте глубины) используют методы «рассеивания» или «снаружи внутрь».
В дополнение к значению внешней окклюзии часто генерируется вектор «изогнутой нормали» , который указывает в среднем направлении незакупленных сэмплов. Изогнутая нормаль может использоваться для поиска падающей яркости на карте окружающей среды для приблизительного освещения на основе изображения . Однако есть некоторые ситуации, в которых направление изогнутой нормали искажает доминирующее направление освещения, например,
В этом примере свет может достигать точки p только с левой или с правой стороны, но изогнутая нормаль указывает на среднее значение этих двух источников, которое, к сожалению, направлено прямо к препятствию.
Варианты
- SSAO
- Окклюзия окружающего пространства экрана
- SSDO
- Направленная окклюзия экранного пространства
- RTAO
- Окклюзия с трассировкой лучей
- HDAO
- Окклюзия высокой четкости
- HBAO +
- Окклюзия на основе горизонта +
- AAO
- Алхимия Ambient Occlusion
- ABAO
- Окклюзия на основе угла
- PBAO
- Предварительно запеченная окружающая окклюзия
- VXAO
- Ускоренная окклюзия вокселя
- GTAO
- Окклюзия на основе наземной истины
Признание
В 2010 году Хайден Лэндис, Кен Макгоу и Хилмар Кох были награждены премией Научно-технической академии за свою работу по рендерингу ambient occlusion.
Смотрите также
- Глобальное освещение
- Фотонное отображение
- Лучистость
- трассировка лучей
- Рендеринг с высоким динамическим диапазоном
использованная литература
- ^ «Что такое Ambient Occlusion? Имеет ли значение в играх?» .
- ^ Миллер, Гэвин (1994). «Эффективные алгоритмы затенения локальной и глобальной доступности». Материалы 21-й ежегодной конференции по компьютерной графике и интерактивной технике . С. 319–326.
- ^ «ОКРУЖАЮЩАЯ ОККЛЮЗИЯ: РАСШИРЕННОЕ РУКОВОДСТВО ПО ЕГО АЛГОРИТМАМ И ИСПОЛЬЗОВАНИЮ В VR» . ARVIlab . Проверено 26 ноября 2018 .
- ^ Окклюзия с трассировкой лучей . Nvidia.
- ^ «Unreal Engine добавляет поддержку трассировки лучей DX12» . ExtremeTech .
- ^ Лангер, MS; HH Buelthoff (2000). «Различение глубины от затемнения при рассеянном освещении». Восприятие . 29 (6): 649–660. CiteSeerX 10.1.1.69.6103 . DOI : 10,1068 / p3060 . PMID 11040949 .
- ^ «Практические стратегии в реальном времени для точной косвенной окклюзии» (PDF) .
- ↑ Оскар 2010: научно-технические награды , Alt Film Guide , 7 января 2010 г.