Форум Статьи Контакты
Строительство — возведение зданий и сооружений, а также их капитальный и текущий ремонт, реконструкция, реставрация и реновация.

Ambient occlusion

Дата: 9-11-2020, 05:49 » Раздел: Статьи  » 

Ambient occlusion (AO) — модель затенения, используемая в трёхмерной графике и позволяющая добавить реалистичности изображению за счёт вычисления интенсивности света, доходящего до точки поверхности. В отличие от локальных методов, как например затенение по Фонгу, ambient occlusion является глобальным методом, то есть значение яркости каждой точки объекта зависит от других объектов сцены. В принципе, это достаточно отдалённо напоминает глобальное освещение.

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

Ambient occlusion относится к методам, основанным на доступности элемента поверхности для различных факторов, таких как грязь, свет и т. д. Он получил популярность благодаря относительной простоте и достаточно высокой эффективности. Часто AO также называют «sky light».

Модель AO способствует лучшему восприятию объёма изображаемых объектов, нежели модель прямого освещения.

Затенение A p {displaystyle A_{p}} в точке p {displaystyle p} поверхности с нормалью N {displaystyle N} может быть посчитано путём интегрирования функции видимости по полусфере Ω {displaystyle Omega } :

A p = 1 π ∫ Ω V p , ω ( N ⋅ ω ) d ω {displaystyle A_{p}={frac {1}{pi }}int limits _{Omega }V_{p,omega }(Ncdot omega ),domega }

где V p , ω {displaystyle V_{p,omega }} — значение функции видимости в точке p {displaystyle p} , равное нулю, если луч из p {displaystyle p} в направлении ω {displaystyle omega } имеет пересечение с объектом, и равное единице в остальных случаях. На практике для взятия этого интеграла используются различные техники: возможно, одним из самых частоиспользуемых является метод Монте-Карло. Другой метод (более полно использующий возможности аппаратного ускорения) — рендеринг сцены из точки p {displaystyle p} с растеризацией геометрии чисто чёрным цветом на белом фоне. Усреднённое значение яркости полученного кадра и есть примерное значение функции в данной точке. Этот способ — пример собирательного метода (метод изнутри-наружу), в то время, как другие подходы (такие, как depth-map ambient occlusion) используют рассеивание (метод снаружи-внутрь).

Кроме значения затенения часто вычисляют дополнительный вектор N b {displaystyle N_{b}} («отклонённая нормаль»), показывающий примерное направление к открытому (незатенённому) пространству. Этот вектор может быть использован для получения освещения из карты окружения. Однако бывают ситуации, когда вектор N b {displaystyle N_{b}} показывает отнюдь не в направлении максимального освещения.


(голосов:0)

Пожожие новости
Комментарии

Ваше Имя:   Ваш E-Mail: