EAGLEs为c ++ openGL中的跨平台开发提供了类似的功能

时间:2013-06-12 04:46:15

标签: android opengl-es cross-platform cocos2d-x gpuimage

我试图在跨平台的cocos2d-x游戏中使用GPUImage库的c ++端口。 GPUImage和cocos2d-x都创建自己的OpenGL上下文以在GPU上执行操作,这会导致应用程序出现问题。对于为iOS创建的原始GPUImage库,作者建议使用“sharegroup”来共享GPUImage和cocos2d here之间的上下文。 Apple docs here中也提供了“sharegroup”的使用。既然,我想制作一个跨平台的游戏(对于Android和iOS)我在其他平台上寻找相同的功能,比如Android?是否可以在跨平台上实现这一点?

1 个答案:

答案 0 :(得分:0)

如同在这个答案中建议的那样做:https://stackoverflow.com/a/7892531/369009

  

Android提供EGL,它支持OpenGL的常见概念   共享组(虽然隐含地;您提供了一个现有的上下文   你希望新的上下文通过第三个在一个公共组中   eglCreateContext的参数)。如果两个上下文属于共享组   然后他们每个人都有一个独立的国家,可以安全地打电话给他们   只有一个线程但命名对象,如纹理或顶点缓冲区   每个对象都可以使用。因此,您可以使用共享组   同时在多个线程上执行OpenGL操作   能够在单个线程上组合结果。

这会有用吗?我想这将是非常跨平台的(无论支持EGL的地方),但是你必须以某种方式同步访问共享对象(纹理......)。