当我将场景渲染到屏幕时,场景使用_MultiSampling Anti-Aliasing 8x;
就可以了。
但是我想通过glReadPixels()
读取像素缓冲区,我有一个带有别名行的别名图像。 它不使用8x MSAA 。
代码:
glReadPixels(0,0, w, h, GL_BGRA_EXT, GL_UNSIGNED_BYTE, (void*)pixels);
如何使用MSAA转换(过滤器)访问像素缓冲区?
glReadPixels
没有特殊参数。
旁注:我想使用Opengl 1
重要提示:我使用的是Qt 5.9的QOpenGLWidget类
答案 0 :(得分:1)
我认为你是通过FBO渲染到屏幕外的渲染缓冲区或纹理。解决方案是创建一个使用MSAA pixelformat的渲染缓冲区。 Antialiasing不是后期处理过滤器!(至少不是MSAA实现的形式)。