首页 > 解决方案 > Opengl Blit 缓冲区

问题描述

我正在尝试将 MSAA 与 HDR 和 Bloom 一起实现。我想将带有两个颜色附件的缓冲区对象blit 到另一个带有两个颜色附件的帧缓冲区。我尝试了以下但没有成功

glBindFramebuffer(GL_READ_FRAMEBUFFER, msaaFrameBuffer);
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, hdrFBO);
glReadBuffer(GL_COLOR_ATTACHMENT0);
glDrawBuffer(GL_COLOR_ATTACHMENT0);
glBlitFramebuffer(0, 0, renderWidth, renderHeight, 0, 0, renderWidth, renderHeight, GL_COLOR_BUFFER_BIT, GL_NEAREST);
glBindFramebuffer(GL_READ_FRAMEBUFFER, msaaFrameBuffer);
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, hdrFBO);
glReadBuffer(GL_COLOR_ATTACHMENT1);
glDrawBuffer(GL_COLOR_ATTACHMENT1);
glBlitFramebuffer(0, 0, renderWidth, renderHeight, 0, 0, renderWidth, renderHeight, GL_COLOR_BUFFER_BIT, GL_NEAREST);

它只是将源帧缓冲区的第一个颜色附件复制到目标帧缓冲区的两个颜色附件。我在这里想念什么?

标签: openglframebuffer

解决方案


推荐阅读