将FBO混合到默认帧缓冲区

cma*_*t85 5 c++ opengl qt framebuffer

澄清的是,当我说'默认帧缓冲'时,我的意思是窗口系统提供的那个以及显示器上的内容.

为了提高我的CAD应用程序的渲染速度,我设法将Qt处理的2D元素中的3D元素分离出来,现在它们都渲染到自己的FBO中.当我们将它们放到屏幕上时,我将3D FBO blit到默认的FB上,然后我想将我的2D FBO混合在它上面.

我已经完成了blitting部分,但我看不出如何将我的2D FBO混合到它上面?两个FBO的大小和格式都相同,它们都与默认FB相同.

我确信这是一个简单的操作,但我在网上找不到任何东西 - 大概我错过了正在尝试做的事情.虽然我正在使用Qt,但我可以毫无问题地使用原生OpenGL命令.

Nic*_*las 7

blit操作最终是像素复制操作.如果你想将一个图像叠加在另一个图像之上,则不能将其加入blit.您必须将全屏四边形渲染为纹理,并使用适当的混合参数进行混合操作.