我曾与当前图像和固定图像之间的闪烁/闪烁交替同样的问题......它会发生在3GS,而不是3G,第一代,或者模拟器。
对我来说,当我会成立于ESRenderer的背景下,但在下面的[现场抽奖]没有引起某些州的任何代码实际上没有画任何东西,即问题引起的。在旧的iPhone和Sim上,当你没有画任何东西的时候,它似乎没有翻转OpenGL缓冲区......但是在3GS上它却有。无论如何,我的解决方法是在这些状态下停止动画(即停止调用绘制rountine的定时器),当我不绘制任何东西时。
- (void) draw
{
[EAGLContext setCurrentContext:context];
glBindFramebufferOES(GL_FRAMEBUFFER_OES, defaultFramebuffer);
glViewport(0, 0, backingWidth, backingHeight);
//Render the GLScene...
[scene draw];
glBindRenderbufferOES(GL_RENDERBUFFER_OES, colorRenderbuffer);
[context presentRenderbuffer:GL_RENDERBUFFER_OES];
}
FWIW,我刚刚在我的iPhone上尝试了自己的OpenGL应用程序,但没有看到任何问题。 – 2008-10-16 21:51:03