cocos2d中的OpenGL错误0x0502 - [EAGLView swapBuffers]

时间:2012-04-15 09:49:21

标签: iphone ios image image-processing cocos2d-iphone

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

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

你知道在那种情况下可能出现什么问题吗?

感谢和问候,普拉卡什。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我碰巧遇到了同样的问题。我发现以下帖子很有用: iOS and multiple OpenGL views

就我而言,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();
}