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