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

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

Example

1 Ответ

9 голосов
/ 27 июня 2011

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

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

...