Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Окружающее затенение в экранном пространстве

Из Википедии — свободной энциклопедии

Окружающее затенение в экранном пространстве (англ. screen space ambient occlusion, SSAO) — программная техника в трёхмерной компьютерной графике, которая является приближенной имитацией глобального освещения и представляет собой изменённый и усовершенствованный вариант техники окружающего затенения. Алгоритм SSAO работает в режиме реального времени и имитирует рассеянное непрямое освещение и соответствующее затемнение в трёхмерном виртуальном пространстве.

SSAO был разработан отделом исследований и разработок немецкой компании Crytek при разработке графических компонентов игрового движка CryEngine 2.[1] Crysis, первая игра на CryEngine 2, разработанная Crytek и вышедшая осенью 2007 года, впервые использовала SSAO. Позже данный алгоритм и его модификации были использованы во многих игровых движках, включая Leadwerks Engine, Dagor Engine, Unreal Engine, Unity, X-Ray, Glacier 2 и других.

Описание работы

Алгоритм SSAO исполняется на графическом процессоре видеокарты и осуществляется как пиксельный шейдер, анализирующий буфер глубины (Z-буфер) сцены, который сохранён в текстуре.

При работе алгоритма окружающего затенения пиксельный шейдер производит выборку значения глубины для каждого пикселя на экране вокруг текущего пикселя и пытается вычислить количество преград от каждой из выбранных точек. В своей самой простой реализации коэффициент преграды зависит только от различия глубины выбранной точки и текущей точки. Без дополнительных продвинутых решений и алгоритмов такой метод решения «в лоб» потребовал бы приблизительно 200 чтений из текстуры для каждого пикселя для хорошего визуального качества. Это число не является приемлемым для рендеринга в режиме реального времени на современных графических процессорах.

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

Для создания окружающего затенения необходимо иметь две текстуры со сценой:

  • Карта нормалей: положение нормали объектов сцены в каждой точке (пикселе), отображаемой на экране.
  • Карта позиций: координаты объекта в каждой точке (пикселе), отображаемой на экране.

Потом берётся карта позиций и нормалей каждого текселя на экране и обрабатываются соседние тексели. По отношению позиций соседних текселей к обрабатываемому, ему присваивается определённый уровень «затенения».

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

Преимущества и недостатки

По сравнению с другими алгоритмами модели окружающего затенения, у SSAO есть следующие преимущества:

  • Независимость от сложности сцены.
  • Нет необходимости в предварительной обработке данных (пре-процессинг).
  • Нет времени загрузки.
  • Не используется системная (оперативная) память.
  • Возможность работы с динамическими сценами.
  • Работает тем же самым непротиворечивым способом для каждого пикселя на экране, как и алгоритм окружающего затенения.
  • SSAO выполняется полностью на графическом процессоре, не используя центральный процессор.
  • Может быть легко интегрирован в любой современный графический конвейер.

Вместе с преимуществами алгоритму SSAO свойственны и недостатки:

  • Алгоритм SSAO менее качественный, так как использует упрощающие методики для увеличения производительности.
  • Алгоритм больше локальный, чем глобальный, во многих случаях зависящий от обзора, поскольку он зависит от смежных глубин текселей, которые могут быть сгенерированы любой геометрией.
  • Алгоритму SSAO тяжело корректно сгладить/размыть искажения, не сталкиваясь с неоднородностью глубины, которая возникает, например, на гранях объектов.

Примечания

  1. Ambient Occlusion – approaches in screen space (SSAO) (англ.). CG – Blog (16 января 2010). Дата обращения: 22 мая 2011. Архивировано 29 марта 2012 года.

Ссылки

Англоязычные источники
Русскоязычные источники
  • Боресков Алексей Викторович. Screen-Space Ambient Occlusion. steps3D (2008). Дата обращения: 5 апреля 2009.
  • Глухарев Алексей Сергеевич. Screen Space Ambient Occlusion. The Last World Project (29 декабря 2007). Дата обращения: 28 марта 2010.
Эта страница в последний раз была отредактирована 5 июля 2023 в 16:58.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).