Артефакты при включении сглаживания 4x MSAA на iPad / iOS
Я включил 4x MSAA в своем приложении iPad OpenGL ES 2.0, используя пример на веб-сайте Apple. На симуляторе это работает хорошо, и изображение хорошее и гладкое, однако на устройстве есть цветные артефакты по краям, где оно должно быть сглажено. Это существует на iPad/iPad2 и iPhone4, но не в симуляторе. Я прикрепил картинку ниже того, как выглядит артефакт. Кто-нибудь знает, что это может быть?
1 ответ
Похоже, ваш шейдер атакует, но вы не опубликовали шейдер, поэтому я не уверен. Видите, когда вы включаете MSAA, шейдер становится возможным выполнить для семплов, которые находятся внутри области пикселей, но за пределами области треугольника. Без MSAA этот пиксель вообще не вызвал бы выполнение фрагментного шейдера, но теперь, когда вы включили MSAA, он должен выполнить фрагментный шейдер для этого пикселя, если один из образцов активен.
Ссылка, которую я разместил, объясняет проблему более подробно. Это также дает вам способы избежать этой проблемы, но я не знаю, предоставляет ли OpenGL ES 2.0 доступ к центробежной выборке. Если это не так, то вам придется отключить мультисэмплинг-рендеринг для тех вещей, которые вызывают артефакты с glDisable(GL_MULTISAMPLE)
, Вы можете включить его, когда вам нужно активировать мультисэмплинг.