我已使用Apple网站上的示例在iPad OpenGL ES 2.0应用程序上启用了4x MSAA。在模拟器上,这可以很好地工作,并且图像清晰且平滑,但是在设备上,应该在边缘上进行彩色混叠,以防止出现锯齿现象。这在iPad/iPad2和iPhone4上存在,但在模拟器中不存在。我在下面附上了工件的外观图片。有人知道这可能是什么吗?
最佳答案
它看起来非常像您的shader is attacking,,但是您没有发布着色器,所以我不确定。请参见,打开MSAA时,就有可能对位于像素区域内但在三角形区域外的样本执行着色器。没有MSAA,此像素根本不会引起片段着色器执行,但是现在您打开了MSAA,如果其中一个样本处于 Activity 状态,则它必须为该像素执行片段着色器。
我发布的链接更深入地解释了该问题。它还为您提供了避免此问题的方法,但是我不知道OpenGL ES 2.0是否提供对质心采样的访问。如果没有,那么您将不得不为那些导致glDisable(GL_MULTISAMPLE)
造成伪影的事情禁用多采样渲染。需要激活多重采样时,可以重新启用它。