iphone - 帧缓冲区对象问题

标签 iphone uiview uiviewcontroller opengl-es eaglview

您好,我正在 iPhone 上使用 OpenGLES 进行编程,但目前遇到了一个奇怪的帧缓冲区对象错误。

起初我遵循 Simon Maurice 的一些教程: http://web.me.com/smaurice/AppleCoder/Welcome.html

但后来我在继续其他教程之前继续做了一些自己的实验,但是我的实验遇到了问题。我试图做的是使 EAGLView 成为 ViewController 的 View ,当基本代码最初来自教程时,这工作得非常好。

由于 EAGLView 是 UIView 的子类,因此做到这一点并不难,因此继续进行实验,我想从头开始进行。我在 Xcode 中使用基于 Windows 的应用程序项目创建了一个新项目,并创建了一个新的 EAGLView 和一个 ViewController 来执行与上一个项目相同的任务。

但是,编译并运行后, View 显示为白色,并且控制台在 createFramebuffer 过程中输出“无法创建完整的帧缓冲区对象 %x”错误。 (错误控制台输出:“GLController[2071:207] 未能创建完整的帧缓冲区对象 0”)。

我首先以为这是我的代码,所以我将前一个项目的工作代码复制到新项目中,但仍然收到相同的错误。同时,我将新项目代码移至旧项目中并编译成功。

我很困惑为什么相同的代码在新项目中无法正常工作,但新代码在旧项目中却可以正常工作。如果有人知道我缺少什么,我将不胜感激。

谢谢。

(还使用 Apple 示例代码中的多个 EAGLView 进行了测试,并且在新项目上发生了相同的错误,但在附加了 ViewController 的旧项目上不会发生。)

最佳答案

这里是在黑暗中拍摄的,缺乏有关您所做的事情的更多信息,但是...您是通过 IB 实例化您的 EAGLView (从而通过 -initWithCoder:),还是以编程方式( -initWithFrame:)?

如果您查看 EAGLView.m,您会发现只有 -initWithCoder: 执行了实际所需的初始化。将该初始化代码迁移到共享(或仅限 -initWithFrame:)初始化程序非常容易。

关于iphone - 帧缓冲区对象问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1606459/

相关文章:

ios - 如何让我的 searchBar TableView 执行 segue

ios - 如何通过手指获取 UIScrollView 分页?

ios - 从 View Controller 访问变量到覆盖函数

iOS bringSubviewToFront 阻塞 UIView 动画

uitableview - swift : add UITableView to . xib View

ios - 在 Swift 中的 presentViewController 之后调用 pushViewController

ios - 更改 UINavigation Controller 以与 SlidePanel 配合使用

iphone - 以编程方式将开关添加到 ScrollView 会引发异常

ios - 使用 UISegmentedControl 在 UIViewController 之间切换

ios - 滚动后 UIScrollView 中对象的可见坐标