SSAO (Screen Space Ambient Occlusion) — это техника рендеринга, которая используется в компьютерной графике для улучшения реалистичности сцены путём добавления теней в местах, где объекты близко расположены друг к другу. 1
Алгоритм SSAO работает на основе анализа глубины и нормалей пикселей на экране. 1 Основные этапы работы: 1
- Генерация карты глубины. 1 На первом этапе рендеринга создаётся карта глубины, которая хранит информацию о расстоянии от камеры до каждого пикселя сцены. 1 Эта карта глубины является основой для дальнейших вычислений, так как она позволяет определить, какие объекты находятся ближе к камере, а какие дальше. 1
- Анализ нормалей. 1 Одновременно с картой глубины создаётся карта нормалей, которая содержит информацию о направлении поверхности в каждой точке сцены. 1
- Обработка текселей. 3 Берётся карта позиций и нормалей каждого текселя на экране и обрабатываются соседние тексели. 3 По отношению позиций соседних текселей к обрабатываемому, ему присваивается определённый уровень «затенения». 3
Алгоритм SSAO работает в режиме реального времени и имитирует рассеянное непрямое освещение и соответствующее затемнение в трёхмерном виртуальном пространстве. 3
Некоторые примеры использования SSAO в играх:
- The Witcher 3: Wild Hunt. 1 В этой игре SSAO используется для добавления теней в густых лесах и на улицах городов, что делает мир более живым и реалистичным. 1
- Grand Theft Auto V. 1 SSAO помогает создать более глубокие и объёмные сцены в городских и сельских локациях, добавляя тени под автомобилями и вокруг зданий. 1