0

I have problems with the render of a textured full screen quad when it´s enabled the MSAA 16x.

The scenario is:

  • create FBO with MSAA 16x (A)
  • create FBO without MSAA to resolve the antialiased FBO (B)
  • bind FBO-A with MSAA
  • render fullscreen textured quad:
    • Minification filtering GL_LINEAR
    • same size as FBO (A & B)
    • 1:1 pixel / texel mapping
  • resolve the FBO-A to FBO-B with glBlitFramebuffer(0,0,w,h,0,0,w,h,color, GL_NEAREST)

The result in the FBO-B (without msaa) is blurred.The mapping is done 1:1 pixel/texel, so filtering should not affect.

Some tests:

  • If the MSAA is configured in 8x the result is clear, no blured image is present. I think this is right and what does not happen with MSAA 16x.
  • if configure the filtering to GL_NEAREST the result is correct.
  • The test are performed with nvidia 480, 580, 680, 780 and 980

Questions:

  • is the result (blurred) correct if the filtering is GL_LINEAR?
  • can be a fail in the driver? some kind of optimization?
  • For MSAA, the blurred result should not be correct (assuming there are errors on your part), as the FS is only invoked once for each fragment, always at the the pixel centers. In contrast to multisampling, supersampling would introduce blur in the scenario you describe. – derhass Oct 06 '15 at 18:52
  • I dont think that error in code because the others MSAA modes is running without problems. – user3820527 Oct 07 '15 at 20:12
  • I have tried some new tests: add a bias of half texel to uv and add a bias of half pixel in the coordinates of the quad. The only method that works right is use the nearest filtering. – user3820527 Oct 07 '15 at 20:18

0 Answers0