Я слышал об окружающей окклюзии, и она выглядит красиво, но что именно?
Я слышал об окружающей окклюзии, и она выглядит красиво, но что именно?
Ответы:
Окружающая окклюзия - это метод, позволяющий определить, насколько яркий свет должен светить на любую конкретную часть поверхности, основываясь на свете и окружающей среде. Это используется для добавления реализма.
В Википедии есть хороший параграф, который объясняет, что сделано.
Окружающая окклюзия чаще всего рассчитывается путем наведения лучей во всех направлениях от поверхности. Лучи, которые достигают фона или «неба», увеличивают яркость поверхности, тогда как луч, который попадает на любой другой объект, не дает освещения. В результате точки, окруженные большим количеством геометрии, становятся темными, тогда как точки с небольшой геометрией в видимом полушарии кажутся светлыми.
Ambient light - это тип освещения в компьютерной графике, который используется для имитации глобального освещения. Окружающая окклюзия - это просто симуляция затенения, вызванного объектами, блокирующими окружающий свет. Поскольку окружающий свет является окружающим, в отличие от других типов освещения, окружающая окклюзия не зависит от направления света. Как таковой, он может быть предварительно вычислен для статических объектов.
Без AO (слева) Обратите внимание, что тень на левом изображении вызвана направленным светом, с AO (справа).
В традиционной трассировке лучей окклюзия окружающей среды моделируется путем выборки лучей из определенной точки, которая принимает форму полусферы, а затем проверяется на пересечение со сценой (также называемой объектным пространством AO).
Обратите внимание, как образцы лучей используются для имитации интеграции АО.
Обратите внимание на псевдонимы (точки), вызванные недостаточной дискретизацией окклюзии.
Поскольку метод выборки с трассировкой лучей слишком медленный, чтобы использовать его в компьютерной графике в реальном времени, появились другие методы, имитирующие это поведение. Один известный подход называется Окклюзия окружающего пространства экрана (SSAO).
SSAO - это технология экранного пространства, разработанная Crytek. Окружающая окклюзия вычисляется в полноэкранном режиме с использованием Z-буфера в качестве единственного входа.
Коэффициент окклюзии kA
каждого пикселя оценивается путем тестирования набора точек, распределенных в полусфере вокруг местоположения пикселя. Это эффективно имитирует традиционный подход трассировки лучей в пространстве экрана.
Значение kA
зависит от сэмплов, которые находятся перед значением в Z-буфере. Если половина или более выборок проходят тест глубины (то есть они ближе к камере, чем центральный пиксель), то kA
получает значение 1. Результатом меньшего числа выборок будет kA
меньше 1.
SSAO компонент типичной игровой сцены
http://en.wikipedia.org/wiki/Ambient_occlusion
Окружающая окклюзия обычно означает применение данных, представляющих, сколько окружающего света попадает на поверхность. Эти данные обычно представляют собой текстуру серого цвета или цвета вершин в зависимости от реализации.
Для вычисления данных наиболее распространенным способом является рендеринг сцены с сплошной белой текстурой и 1 точечным освещением несколько раз, каждый раз перемещая точечный источник света в другое место на сфере или полушарии. Результаты всех визуализаций усредняются, и это дает вам данные о каждом конкретном месте в сцене и о том, сколько света попадает в это место.
Например, место в сцене, где всегда светло, независимо от того, куда вы кладете свет, будет ярким, а как темное место, независимо от того, куда вы кладете свет, будет темным. В результате вы получите что-то, что будет создавать темные тени в трещинах и трещинах, а также при мягком освещении там, где объекты обычно отбрасывают тень.
Окружающая окклюзия - это метод расчета освещения на поверхности объекта, который учитывает яркость света из-за окклюзии поверхности относительно источника света.
Таким образом, окружающая окклюзия является методом затенения, который является глобальным по своей природе, что означает, что свет / освещение от каждой точки в сцене может влиять на другие точки в сцене. В отличие от локальных методов затенения, таких как Phong / Blinn, это означает, что затенение с окружающей окклюзией добавляет больше реализма.
Вот немного упрощенного объяснения. Окружающая окклюзия - это изящный способ симуляции глобального освещения, который работает быстрее, чем другие методы, которые мы использовали до сих пор. Лучи отливаются со всех сторон от точки поверхности «вверх» по отношению к поверхности. Лучи, которые не достигают какого-либо объекта на своем пути, то есть они достигают порога фонового пространства («небо»), увеличивают яркость поверхности. Лучи, которые, с другой стороны, попадают в геометрию при наведении с поверхности, не добавляют яркости поверхности. Таким образом, точки поверхности, которые окружены множеством другой геометрии, находятся в тени.
SSAO - это всего лишь один из способов окклюзии окружающей среды.
Окружающая окклюзия означает, что свет не достигает. Складки и щели не дают окружающему свету отражаться, поэтому они обычно отсутствуют в большинстве источников света, создавая «самые темные темные пятна», обычно в зависимости от атмосферы.
Ambient Occlusion ... для тех, кто не очень знаком с технологией игровой графики, ambient Occlusion добавляет определенное количество света в каждый объект сцены. все полигоны отображаются под разным углом, в этом случае количество света неравномерно, что делает игру более реалистичной и привлекательной