我目前正在创建一个位于另一个视图上方的 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);
我得到错误代码: iPad 4 上的 8219 和错误代码: iPad 1 上的8cdd
当然没有绘制。如果我禁用多重采样,则没有错误。这个类在一个大项目中使用并且是子类的。使用超类本身并不能解决问题。GLK 完全在代码中完成,只有它的 superview 是一个简单的 UIView 是一个 .xib 文件。
如果我通过在 Storyboard 中将 GLKView 作为我的类在新项目中使用该类,则多重采样可以正常工作。
如果需要任何进一步的信息,请随时询问。提前致谢。
更新:
设置 GLKView 的框架后似乎有问题,但仅限于非 A5 芯片设备。