如果GLKView drawableMultisample是GLKViewDrawableMultisample4X,我的iOS应用程序将停止渲染。使用GLKViewDrawableMultisampleNone一切正常,但是如果我将它设置为GLKViewDrawableMultisample4X,那么我只得到空白的粉红色屏幕。
我在iOS模拟器/ iOS 7.0.3上检查了它
有人知道如何解决这个问题吗?它可能与iOS模拟器有关,可能在真实设备上运行良好吗?
答案 0 :(得分:0)
我遇到了这个问题。目前还不清楚原因是否相同,但在我的情况下,我是从displayLink触发器触发我的渲染 - 不考虑setNeedsDisplay的语义,或者GLKit如何设置渲染缓冲区围绕执行drawInRect方法。
我有心态,因为我使用displayLink,我可以直接从触发器运行我的所有渲染 - 并且因为在我尝试设置抗锯齿之前一切正常,我认为它不能是错的!
问题只有在我设置GLKViewDrawableMultisample4X时才会出现,就像OP的问题一样。
解决方案......
- (void)render:(CADisplayLink*)displayLink { // This function should *not* perform any rendering // We only want to inform GLKit that we're ready to render GLKView * view = [self.window.subviews objectAtIndex:0]; // Tell GLKit that we're ready to draw [view display]; // GLKit will ensure the buffers are setup before // calling drawInRect }