Apple の Web サイトの例を使用して、iPad OpenGL ES 2.0 アプリで 4x MSAA を有効にしました。シミュレーターではこれはうまく機能し、画像は素晴らしく滑らかですが、デバイスではアンチエイリアスが必要なエッジに色付きのアーティファクトがあります。これは iPad/iPad2 および iPhone4 には存在しますが、シミュレーターには存在しません。アーティファクトがどのように見えるかの写真を下に添付しました。これが何であるか知っている人はいますか?

Apple の Web サイトの例を使用して、iPad OpenGL ES 2.0 アプリで 4x MSAA を有効にしました。シミュレーターではこれはうまく機能し、画像は素晴らしく滑らかですが、デバイスではアンチエイリアスが必要なエッジに色付きのアーティファクトがあります。これは iPad/iPad2 および iPhone4 には存在しますが、シミュレーターには存在しません。アーティファクトがどのように見えるかの写真を下に添付しました。これが何であるか知っている人はいますか?

シェーダーが攻撃しているように見えますが、シェーダーを投稿していないため、確信が持てません。MSAA をオンにすると、シェーダーは、ピクセル領域の内側にあるが三角形領域の外側にあるサンプルに対して実行できるようになります。MSAA がなければ、このピクセルはフラグメント シェーダーの実行をまったく引き起こしませんでしたが、MSAA をオンにしたので、サンプルの 1 つがアクティブな場合、そのピクセルのフラグメント シェーダーを実行する必要があります。
私が投稿したリンクは、問題をより深く説明しています。この問題を回避する方法も提供しますが、OpenGL ES 2.0 がセントロイド サンプリングへのアクセスを提供しているかどうかはわかりません。そうでない場合は、アーティファクトの原因となるものに対してマルチサンプリング レンダリングを無効にする必要がありますglDisable(GL_MULTISAMPLE)。マルチサンプリングをアクティブにする必要がある場合は、再度有効にすることができます。