SSAO — программная техника в трёхмерной компьютерной графике, которая является частью глобального освещения и представляет собой универсальный вариант техники окружающего затенения. В данном примере мы используем SSAO для подчёркивания глубины трёхмерных объектов в пространстве при помощи рендеринга в реальном времени на основе графического API OpenGL 4.6.
Включены diffuse maps и normal maps, так-же включён cubemap rendering и сам SSAO. Радиус затемнения = 3.0f, bias = 1.0f, range выключен.
Выключены diffuse maps, но включены normal maps, cubemap rendering и сам SSAO. Радиус затемнения = 3.0f, bias = 1.0f, range выключен.
Выключены diffuse maps и normal maps, cubemap rendering и SSAO включены. Радиус затемнения = 2.0f, bias = 1.0f, range включён.
Для рендера техники типа SSAO мы используем 3 прохода рендеринга: в первом проходе мы используем геометрию мира для записи в буфер кадра g-Буфера.
Во втором проходе рендера мы используем заранее созданный прямоугольник в экранном пространстве и привязку созданных текстур g-Буфера и шума, и привязываем их к буферу кадра ssaoFBO. Так же для возможного удобства, можно расположить передачу параметров в шейдер в этом же методе.
В третьем этапе мы используем прямоугольник и заранее созданную текстуру в экранном пространстве ssaoMap и добавляем в буфер кадра ssaoBlur.