Important: Please read the Qt Code of Conduct -

No useful QOpenGLFramebufferObject::blitFramebuffer() and texture() when it encounters multisampling

  • I am doiong some offscreen rendering job and I need to do multisampling and some blur job, so I created FBO_A to do my drawing job, then I use the blitFramebuffer() like what Qt blog did to blit what in FBO_A to FBO_B whose sample was set to 16, but what I got in FBO_B (use QOpenGLFramebufferObject::toImage) is still a no multisampling job. I have to say it is strange because when I set FBO_A sample to 16 and draw directly, then I got the multisampling image, which is totally different from what the above article said(You have to use blit to get a downsample or multisample FBO).

    Another question is about copy multisampling texture. I created FBO_C and want to draw FBO_A's content as a texture, the strange thing happened here, when FBO_A is a no multisampling fbo, I cant use texture() get the handle and FBO_C get the correct answer. But when FBO_A is set to multisampling, then the texture() get the right handle too, but u can never draw it in FBO_C correctly, what u get is always a black image.

    My Qt is 5.9.9, MSVC 2015 32bit.

  • Lifetime Qt Champion


    Qt 5.9.9 being pretty old, you should test a more recent version of Qt.

    That said, you should provide a minimal compilable example that shows that behaviour.

Log in to reply