Рендер в буфер кадра и использование текстуры

This commit is contained in:
parent 5bae25e451
commit 01b85b7c6e
1 changed files with 17 additions and 2 deletions

View File

@ -162,12 +162,27 @@ int main(void)
// Загрузка данных о камере // Загрузка данных о камере
cameraUB.loadSub(&Camera::current().getData(), sizeof(CameraData)); cameraUB.loadSub(&Camera::current().getData(), sizeof(CameraData));
// Очистка буфера цвета // Активируем буфер кадра
glBindFramebuffer(GL_FRAMEBUFFER, fbo);
// Используем шейдер с освещением
base.use();
// Очистка буфера цвета и глубины
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// Тут производится рендер // Тут производится рендер
scene.render(model_uniform, material_data); scene.render(model_uniform, material_data);
// Активируем базовый буфер кадра
glBindFramebuffer(GL_FRAMEBUFFER, 0);
// Подключаем шейдер для прямоугольника
quadProgram.use();
// Очистка буфера цвета и глубины
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// Подключаем текстуру цветов
colors.use();
// Рендерим прямоугольник
quadModel.render();
// Представление содержимого буфера цепочки показа на окно // Представление содержимого буфера цепочки показа на окно
glfwSwapBuffers(window); glfwSwapBuffers(window);
// Обработка системных событий // Обработка системных событий