glReadPixel 停止使用 iOS6 Beta停止使用、glReadPixel、Beta

2023-09-06 14:51:31 作者:世中仙人

可能重复:为什么 glReadPixels() 在此代码中失败iOS 6.0?

我目前在 Appstore 中有一个使用 Cocos2D 框架的 App.对于碰撞检测,我使用 glReadPixels.屏幕只有白色和黑色像素,检测到黑色像素意味着碰撞.在 iOS 5.1.1 之前一切正常,但在 iOS6 Beta(全部)中 glReadPixels 停止工作.现在 glReadPixels 返回的 RGB 值总是 0,0,0.

I currently have an App in Appstore that uses the Cocos2D framework. For collision detection I am using glReadPixels. The screen only has white and black pixels and detecting a black pixel means collision. Everything works fine up to iOS 5.1.1 but in iOS6 Beta (all of them) glReadPixels stopped working. Now the RGB values returned by glReadPixels are always 0,0,0.

有人知道出了什么问题或如何解决吗?

Does anyone have an idea what went wrong or how to fix that?

非常感谢您的帮助!

推荐答案

感谢 Apple 私有列表的建议 - 这就是我找到该问题的解决方案的地方.

Thanks for the apple private list suggestion - that's where I found the solution to that problem.

在 Cocos2D 类EAGLView.m"中,我在 init 方法中将preserveBackbuffer"变量设置为YES".它现在也可以在 iOS 6 Beta 中再次使用.

In the Cocos2D Class "EAGLView.m" I was setting the "preserveBackbuffer" variable to "YES" at the init method. It now works again also in iOS 6 Beta.