关于opengl es:在iPad / iOS上启用4倍MSAA抗锯齿功能时的工件

Artifacts when enabling 4x MSAA anti-aliasing on iPad / iOS

我已使用Apple网站上的示例在我的iPad OpenGL ES 2.0应用程序中启用了4倍MSAA。在模拟器上,这可以很好地工作,并且图像清晰且平滑,但是在设备上,应该在边缘上进行彩色混叠,以防止出现锯齿现象。这在iPad / iPad2和iPhone4上存在,但在模拟器中不存在。我在下面附上了工件的外观图片。任何人都知道这可能是什么吗?

Example


看起来很像您的着色器正在攻击,但是您没有发布着色器,所以我不请参见,打开MSAA时,就有可能对位于像素区域内但在三角形区域外的样本执行着色器。没有MSAA,此像素根本不会导致片段着色器执行,但是现在您打开了MSAA,如果其中一个样本处于活动状态,则它必须为该像素执行片段着色器。

我发布的链接更深入地说明了该问题。它还为您提供了避免此问题的方法,但是我不知道OpenGL ES 2.0是否提供对质心采样的访问。如果不是,那么对于那些导致glDisable(GL_MULTISAMPLE)产生伪影的事情,您将不得不禁用多采样渲染。需要激活多重采样时,可以重新启用它。