您好,我正在为 iPhone 使用 OpenGLES 编程,但我目前遇到了一个奇怪的帧缓冲区对象错误。
起初,我在学习 Simon Maurice 的一些教程: http ://web.me.com/smaurice/AppleCoder/Welcome.html
但是在继续其他教程之前,我自己做了一些实验,但是我的实验遇到了问题。我试图做的是使 EAGLView 成为 ViewController 的视图,当基本代码最初来自教程时,这工作得非常好。
由于 EAGLView 是 UIView 的一个子类,所以这样做并不难,所以继续进行实验,我想用一张白纸来做。我在 Xcode 中使用基于 Windows 的应用程序项目创建了一个新项目,并创建了一个新的 EAGLView 和一个 ViewController 来执行与前一个项目相同的任务。
然而,在编译和运行视图后出现白色,并且控制台在 createFramebuffer 过程中输出“failed to make complete framebuffer object %x”错误。(错误控制台输出:“GLController[2071:207] 无法制作完整的帧缓冲区对象 0”)。
我首先认为这是我的代码,所以我将前一个项目中的工作代码撕成新项目,但仍然收到相同的错误。同时我将新项目代码移到旧项目中并编译成功输出。
我很困惑为什么相同的代码在新项目中不能正常工作,而新代码在旧项目中却能正常工作。如果有人知道我错过了什么,将不胜感激。
谢谢。
(还使用 Apple 示例代码中的几个 EAGLView 进行了测试,并且在新项目上发生了相同的错误,但在附加了 ViewController 的旧项目上不会发生。)