OpenGL iOS视图不绘制

我正在尝试使用OpenGL绘制视图,这是另一个视图的子视图。 我为此创build了一个视图类,如果我在一个简单的testing应用程序中使用这个类,它可以正常工作。 但是,如果我将这个类的实例放在我的应用程序的特定页面上,则OpenGL绘画不会显示任何内容。 我确信视图是可见的(我可以设置一个背景颜色,并显示,我可以接收触摸事件)。 我也可以通过OpenGL初始化和绘制例程来追踪,一切似乎都很好。 我的绘画例程被调用,我经常调用glGetError,并没有错误返回。 我可以比较一下这个例程跟案例的结果,一切看起来都差不多,但是没有任何东西可以描绘出来(我甚至只是简单地尝试着什么也不做,只是把窗口清理成黑色,但是也没有任何东西)。

该应用程序不起作用的代码是很复杂的张贴在这里。 我认为我做错了什么,但是对于我的生活,我无法弄清楚什么。 任何人都可以给我任何想法,为什么OpenGL绘画看起来会成功,但没有绘制任何东西,或build议一个策略来搞清楚这一点?

谢谢。

OpenGL和外部世界之间的联系是特定于平台的,而不是核心API的一部分。 所以有一个问题不会影响glGetError的结果。

在iOS的情况下,相关的调用是EAGLContext -presentRenderbuffer:只要您使用了renderbufferStorage:fromDrawable:就可以从CAEAGLLayer为渲染缓冲区创build存储。 您可能要检查presentRenderbuffer:的返回结果presentRenderbuffer:以及周围的代码,以查找错误而不是内部GL状态。