8

我在我的 cocos2d 项目中实现了 GPUImage 框架,GPUImage 框架是一个 BSD 许可的 iOS 库,可让您将 GPU 加速过滤器和其他效果应用于图像、实时摄像机视频和电影。

当我调用任何一个 GPUImage 过滤器时,我得到“ cocos2d OpenGL error 0x0502 in -[EAGLView swapBuffers] ”错误。

你知道在这种情况下可能是什么问题吗?

谢谢和问候,普拉卡什。

4

2 回答 2

1

我不知道您的代码在做什么,但我所看到的是,如果应用程序的方向从正常方向发生变化,有时会出现交换缓冲区问题。尝试在使用代码之前和之后打印主视图的大小。

于 2012-09-04T12:08:52.647 回答
0

我碰巧遇到了同样的问题。我发现以下帖子很有用: iOS 和多个 OpenGL 视图

就我而言,cocos2d 文件没有必要的“setCurrentContext”命令,所以我将它添加到 CCEAGLView-ios.mm 中。它解决了我的问题。

(void) layoutSubviews
{
[renderer_ resizeFromLayer:(CAEAGLLayer*)self.layer];
size_ = [renderer_ backingSize];

[EAGLContext setCurrentContext: context_];
cocos2d::Size size;
size.width = size_.width;
size.height = size_.height;

cocos2d::Director::getInstance()->drawScene();
}
于 2015-04-05T12:51:28.003 回答