У меня есть небольшое приложение OpenGL, и я ищу оптимальный способ одновременного копирования нескольких текстурных буферов.
Допустим, у меня есть два буфера кадра (fbo1
, fbo2
), каждый из которых содержит два буфера текстуры. И у меня есть целевой fbo (fbo3
) с четырьмя буферами текстур. И я хочу блит все текстуры от fbo1
и fbo2
до fbo3
.
В настоящее время я делаю это отдельно для каждой текстуры, например,
glBindFramebuffer(GL_READ_FRAMEBUFFER, fbo1)
glReadBuffer(GL_COLOR_ATTACHMENT0)
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fbo3)
glDrawBuffer(GL_COLOR_ATTACHMENT0)
glBlitFramebuffer(0, 0, width, height, 0, 0, ds_width, ds_height, GL_COLOR_BUFFER_BIT, GL_LINEAR)
glBindFramebuffer(GL_READ_FRAMEBUFFER, 0)
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0)
Как это обычно делается? И это вообще выполнимо?