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

时间:2011-06-27 02:38:37

标签: ios opengl-es antialiasing msaa

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

Example

1 个答案:

答案 0 :(得分:9)

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

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