Генерация буфера
This commit is contained in:
parent
9dc496c4e8
commit
8485ceb2e4
13
src/main.cpp
13
src/main.cpp
|
@ -17,6 +17,7 @@ Texture* pgNormal = NULL;
|
||||||
Texture* pgDiffuseP = NULL;
|
Texture* pgDiffuseP = NULL;
|
||||||
Texture* pgAmbientSpecular = NULL;
|
Texture* pgAmbientSpecular = NULL;
|
||||||
RBO* pgrbo = NULL;
|
RBO* pgrbo = NULL;
|
||||||
|
Texture* pssaoTexture = NULL;
|
||||||
// Размеры окна
|
// Размеры окна
|
||||||
int WINDOW_WIDTH = 800;
|
int WINDOW_WIDTH = 800;
|
||||||
int WINDOW_HEIGHT = 600;
|
int WINDOW_HEIGHT = 600;
|
||||||
|
@ -38,6 +39,9 @@ void framebuffer_size_callback(GLFWwindow* window, int width, int height)
|
||||||
// И буфера глубины
|
// И буфера глубины
|
||||||
if (pgrbo)
|
if (pgrbo)
|
||||||
pgrbo->reallocate(width, height);
|
pgrbo->reallocate(width, height);
|
||||||
|
// SSAO
|
||||||
|
if (pssaoTexture)
|
||||||
|
pssaoTexture->reallocate(width, height, 6, GL_RED, GL_RED);
|
||||||
|
|
||||||
// Запомним новые размеры окна
|
// Запомним новые размеры окна
|
||||||
WINDOW_WIDTH = width;
|
WINDOW_WIDTH = width;
|
||||||
|
@ -242,6 +246,15 @@ int main(void)
|
||||||
pointShadowShader.load(GL_FRAGMENT_SHADER, "shaders/point_shadow.frag");
|
pointShadowShader.load(GL_FRAGMENT_SHADER, "shaders/point_shadow.frag");
|
||||||
pointShadowShader.link();
|
pointShadowShader.link();
|
||||||
|
|
||||||
|
// Создадим буфер для вычисления SSAO
|
||||||
|
GLuint attachments_ssao[] = { GL_COLOR_ATTACHMENT0 };
|
||||||
|
FBO ssaoBuffer(attachments_ssao, sizeof(attachments_ssao) / sizeof(GLuint));
|
||||||
|
// Создадим текстуры для буфера кадра
|
||||||
|
Texture ssaoTexture(WINDOW_WIDTH, WINDOW_HEIGHT, GL_COLOR_ATTACHMENT0, 6, GL_RED, GL_RED);
|
||||||
|
pssaoTexture = &ssaoTexture;
|
||||||
|
// Активируем базовый буфер кадра
|
||||||
|
FBO::useDefault();
|
||||||
|
|
||||||
// Модель прямоугольника
|
// Модель прямоугольника
|
||||||
Model rectangle;
|
Model rectangle;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue