Артефакты при включении сглаживания 4x MSAA на iPad / iOS

Я включил 4x MSAA на своем iPad OpenGL ES 2.0 app, используя пример на веб-сайте Apple. На симуляторе это хорошо работает, и изображение приятное и гладкое, однако на устройстве есть цветные артефакты по краям, где оно должно быть сглажено. Это существует на iPad / iPad2 и iPhone4, но не в симуляторе. Я прикрепил изображение ниже того, как выглядит артефакт. Кто-нибудь знает, что это может быть?

Example

1 ответов


это очень похоже на ваш шейдер нападает, но вы не разместили шейдер, поэтому я не могу быть уверен. См., когда вы включаете MSAA, шейдер может быть выполнен для образцов, которые находятся внутри области пикселей, но вне треугольник зона. Без MSAA этот пиксель вообще не вызвал бы выполнение шейдера фрагментов, но теперь, когда вы включили MSAA, он должен выполнить шейдер фрагментов для этого пикселя, если один из образцов активный.

ссылка, которую я опубликовал, объясняет проблему более подробно. Это также дает вам способы избежать этой проблемы, но я не знаю, предоставляет ли OpenGL ES 2.0 доступ к центроидной выборке. Если это не так, то вам придется отключить многоразрядный рендеринг для тех вещей, которые вызывают артефакты с glDisable(GL_MULTISAMPLE). Вы можете повторно включить его, когда вам нужно multisampling active.