SSAO — программная техника в трёхмерной компьютерной графике, которая является частью глобального освещения и представляет собой универсальный вариант техники окружающего затенения. В данном примере мы используем SSAO для подчёркивания глубины трёхмерных объектов в пространстве при помощи рендеринга в реальном времени на основе графического API OpenGL 4.6.

Исходный размер 1920x1080

Включены diffuse maps и normal maps, так-же включён cubemap rendering и сам SSAO. Радиус затемнения = 3.0f, bias = 1.0f, range выключен.

Исходный размер 1920x1080

Выключены diffuse maps, но включены normal maps, cubemap rendering и сам SSAO. Радиус затемнения = 3.0f, bias = 1.0f, range выключен.

Исходный размер 1920x1080

Выключены diffuse maps и normal maps, cubemap rendering и SSAO включены. Радиус затемнения = 2.0f, bias = 1.0f, range включён.

Для рендера техники типа SSAO мы используем 3 прохода рендеринга: в первом проходе мы используем геометрию мира для записи в буфер кадра g-Буфера.

Исходный размер 979x426

Во втором проходе рендера мы используем заранее созданный прямоугольник в экранном пространстве и привязку созданных текстур g-Буфера и шума, и привязываем их к буферу кадра ssaoFBO. Так же для возможного удобства, можно расположить передачу параметров в шейдер в этом же методе.

Исходный размер 1069x819

В третьем этапе мы используем прямоугольник и заранее созданную текстуру в экранном пространстве ssaoMap и добавляем в буфер кадра ssaoBlur.

Исходный размер 773x393
Загрузка...