Метод Ambient occlusion (SSAO) в современной компьютерной графике работает следующим образом: 13
- Алгоритм исполняется на графическом процессоре видеокарты. 1 Он осуществляется как пиксельный шейдер, анализирующий буфер глубины (Z-буфер) сцены, который сохранён в текстуре. 1
- Пиксельный шейдер производит выборку значения глубины для каждого пикселя на экране вокруг текущего пикселя и пытается вычислить количество преград от каждой из выбранных точек. 1 В своей самой простой реализации коэффициент преграды зависит только от различия глубины выбранной точки и текущей точки. 1
- Для создания окружающего затенения необходимо иметь две текстуры со сценой: 1
- Карта нормалей. 1 Положение нормали объектов сцены в каждой точке (пикселе), отображаемой на экране. 1
- Карта позиций. 1 Координаты объекта в каждой точке (пикселе), отображаемой на экране. 1
- Потом берётся карта позиций и нормалей каждого текселя на экране и обрабатываются соседние тексели. 1 По отношению позиций соседних текселей к обрабатываемому, ему присваивается определённый уровень «затенения». 1
Это позволяет создать более правдоподобные тени и улучшить восприятие сцены без необходимости использовать ресурсоёмкие методы глобального освещения. 3