Не удалось сделать мультисэмпловый кадровый буфер в GLKView, ошибка 8cdd

В настоящее время я создаю GLKView, который находится над другим видом, где я рисую некоторые линии. Но у меня странная проблема. Для моей задачи мне нужно использовать мультисэмплинг, который выполняется этой строкой

self.drawableMultisample = GLKViewDrawableMultisample4X;

в моем конструкторе. На симуляторе на iOS 7.1/7/6.1 я получил ожидаемый результат. На iPad Mini 1 я получаю такой же результат.

Редактировать: iPad 2 также работает.

Но если я использую iPad 1 (5.1) или iPad 4 (7.1), я получаю следующую ошибку.

Не удалось создать полный мультисэмпловый объект фреймбуфера 8cdd

если я проверю ошибку с

GLuint returned = glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES);
NSLog(@"Error code: %x -->", returned);

я получаю код ошибки: 8219 на iPad 4 и код ошибки: 8cdd на iPad 1

и никакой рисунок не делается, конечно. Если я отключу мультисэмплинг, ошибки не будет. Этот класс используется в большом проекте и подклассами. Использование самого суперкласса не решает проблему. GLK полностью сделан в коде, только его суперпредставление, которое является простым UIView, является.xib файлом.

Если я использую класс в новом проекте, сделав GLKView в Storyboard в качестве моего класса, мультисэмплинг работает нормально.

Если вам нужна дополнительная информация, не стесняйтесь спрашивать. Заранее спасибо.

Обновить:

Кажется, есть проблема после установки кадра GLKView, но только на устройствах без A5-Chip.

0 ответов

Другие вопросы по тегам