在iPad/iOS上启用4x MSAA抗锯齿时的工件

par*_*oid 6 opengl-es antialiasing ios msaa

我使用Apple网站上的示例在我的iPad OpenGL ES 2.0应用程序上启用了4x MSAA.在模拟器上,这种方法效果很好,图像也很漂亮,但是在设备上边缘有颜色的伪像应该是抗锯齿的.这存在于iPad/iPad2和iPhone4上,但不存在于模拟器中.我在下面附上了一个神器看起来像什么的图片.谁知道这可能是什么?

例

Nic*_*las 9

它看起来非常像你的着色器正在攻击,但你没有发布着色器所以我不能确定.当您打开MSAA时,可以看到着色器可以在像素区域内但在三角区域之外的样本上执行.如果没有MSAA,此像素根本不会导致片段着色器执行,但是现在您打开了MSAA,如果其中一个样本处于活动状态,它必须执行该像素的片段着色器.

我发布的链接更深入地解释了这个问题.它还为您提供了避免此问题的方法,但我不知道OpenGL ES 2.0是否提供对质心采样的访问.如果没有,那么您将不得不为那些导致工件的东西禁用多重采样渲染glDisable(GL_MULTISAMPLE).您可以在需要多重采样活动时重新启用它.