您好,我正在为iPhone编写OpenGLES程序,但是我目前遇到了一个奇怪的帧缓冲区对象错误。
一开始,我遵循了来自Simon Maurice的一些教程:http://web.me.com/smaurice/AppleCoder/Welcome.html
但是,在继续学习其他教程之前,我做了一些自己的实验,但是我的实验遇到了一个问题。我试图做的是让EAGLView成为ViewController的视图,当基本代码最初来自教程时,这种方法工作得很好。
因为EAGLView是UIView的一个子类,所以要做到这一点并不太难,所以继续这个实验,我想从头开始。我使用基于Windows的应用程序项目在Xcode中创建了一个新项目,并创建了一个新的EAGLView和一个ViewController来完成与前一个项目相同的任务。
然而,在编译和运行之后,视图显示为白色,并且控制台在createFramebuffer过程中输出"failed to make complete framebuffer object %x“错误。(错误控制台输出:"GLController2071:207无法生成完整的帧缓冲区对象0")。
我首先认为这是我的代码,所以我从以前的项目中提取工作代码到新项目中,但仍然收到相同的错误。同时,我将新项目的代码移到了旧项目中,并成功地进行了编译。
我搞不懂为什么相同的代码在新项目中不能正常工作,而新代码在旧项目中却能正常工作。如果有人知道我错过了什么,我将不胜感激。
谢谢。
(还使用苹果示例代码中的几个EAGLViews进行了测试,在新项目上出现了相同的错误,但在附加了ViewController的旧项目上不会出现相同的错误。)
发布于 2010-08-12 04:02:23
在这里蒙在鼓里,缺乏更多关于你所做的事情的信息,but...are你通过IB实例化你的EAGLView (因此通过-initWithCoder:),还是以编程的方式(-initWithFrame:)?
如果您查看EAGLView.com,您将看到只有-initWithCoder:完成了实际所需的初始化。将初始化代码迁移到共享(或仅限-initWithFrame: )初始化器非常容易。
发布于 2009-10-30 19:52:03
在尝试将EAGLView设置为viewController的视图时,我遇到了类似的问题。相反,应将viewController的UIView属性附加到标准视图。然后,当视图成功加载(可能在视图控制器的viewDidLoad方法中)时,实例化一个EAGLView并将其作为子视图添加到viewController.view中。
发布于 2009-10-25 22:37:19
opengles模板程序已从上一版Iphone SDK更改为当前版本。有编写的支持代码,用于在ES2.0和ES1.1之间进行选择
请注意这一点。
https://stackoverflow.com/questions/1606459
复制相似问题