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

55

Я слышал об окружающей окклюзии, и она выглядит красиво, но что именно?

Матиас Вальденегро
источник
Просто хочу добавить информацию об Ambient Occlusion
виртуальной

Ответы:

35

Окружающая окклюзия - это метод, позволяющий определить, насколько яркий свет должен светить на любую конкретную часть поверхности, основываясь на свете и окружающей среде. Это используется для добавления реализма.

В Википедии есть хороший параграф, который объясняет, что сделано.

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

Вот очень техническая статья об этом.

Олафур Вааге
источник
6
Хотя я понимаю, что вы цитируете что-то, оно описывает внешнее освещение, а не окклюзию окружающей среды. Хотя логика чрезвычайно похожа, логика инвертирована (вы удаляете свет, когда лучи
падают на
68

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

введите описание изображения здесь

Без AO (слева) Обратите внимание, что тень на левом изображении вызвана направленным светом, с AO (справа).

В традиционной трассировке лучей окклюзия окружающей среды моделируется путем выборки лучей из определенной точки, которая принимает форму полусферы, а затем проверяется на пересечение со сценой (также называемой объектным пространством AO).

введите описание изображения здесь

Обратите внимание, как образцы лучей используются для имитации интеграции АО.

введите описание изображения здесь

Обратите внимание на псевдонимы (точки), вызванные недостаточной дискретизацией окклюзии.

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

SSAO - это технология экранного пространства, разработанная Crytek. Окружающая окклюзия вычисляется в полноэкранном режиме с использованием Z-буфера в качестве единственного входа.

Коэффициент окклюзии kAкаждого пикселя оценивается путем тестирования набора точек, распределенных в полусфере вокруг местоположения пикселя. Это эффективно имитирует традиционный подход трассировки лучей в пространстве экрана.

Значение kAзависит от сэмплов, которые находятся перед значением в Z-буфере. Если половина или более выборок проходят тест глубины (то есть они ближе к камере, чем центральный пиксель), то kAполучает значение 1. Результатом меньшего числа выборок будет kAменьше 1.

SSAO компонент типичной игровой сцены

SSAO компонент типичной игровой сцены

concept3d
источник
7

http://en.wikipedia.org/wiki/Ambient_occlusion

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

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

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

GMan
источник
3

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

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

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

SSAO - это всего лишь один из способов окклюзии окружающей среды.

Keyframe
источник
1
«... по отношению к источнику света» Когда вы упоминаете источники света, это предполагает прямое освещение. Хотя окружающий свет исходит от источника, как и любой другой свет, считается, что он идет со всех сторон.
Мухук
-2

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

Дженай Элдер
источник
-7

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

palanguejolly
источник
11
Я не думаю, что вы вносите что-то новое, достойное упоминания.
Лассе
Этот ответ, по-видимому, описывает «рассеянный свет», а не «окружающий прикус». Окружающая окклюзия уменьшает свет, добавляемый окружающим освещением.
DMGregory