我已在我的cocos2d项目中实现了GPUImage framework,GPUImage框架是一个获得BSD许可的iOS库,可让您将GPU加速过滤器和其他效果应用于图像,实时摄像机视频和电影。
当我调用任何一个GPUImage过滤器时,我在“[EAGLView swapBuffers]”中收到“cocos2d OpenGL错误0x0502”错误。
你知道在那种情况下可能出现什么问题吗?
感谢和问候,普拉卡什。
答案 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();
}