我一直在为自己的游戏工作一段时间,并且它在Windows上工作正常。一切都旨在支持跨平台。为了让你理解我的问题,我将不得不解释一切如何工作:在iOS下初始化OpenGL ES 2.0
有多个库:平台,视频,XML,图像和引擎。它们中的每一个都可以在Windows下编译为DLL或者在iOS上编译为静态库。
库中的所有内容都是普通函数(声明为extern "C"
)或具有接口的对象。
文件夹结构像这样组织:Project,Include,Source。
在包含文件夹中,只有通用代码适用于所有平台,如接口和函数原型。在源文件夹中,有针对每个平台的其他文件夹。
我设法在iOS上移植平台库没有任何问题,但现在我卡在视频之一。
这处理渲染API(在windows下的OpenGL和在iOS下的Opengl-ES 2)。
要创建驱动程序我都用下面的函数:
IVideoDriver* CreateVideoDriver(void* container)
Container是Windows下的一个HWND
。
问题是我不确定如何在iOS下使用这种初始化风格。
我读过一些教程,看过示例源代码,但我无法弄清楚如何做到这一点。从我看到的OpenGL初始化必须在视图中完成,我不知道如何链接所有与我的代码。我知道我必须使用一些Objective-C代码,但这不是问题。
任何人都可以请帮我解决这个问题吗?
我会推荐看看cocos2d-x引擎。它是跨平台的,使用OpenGL ES并具有很好的代码结构。至于视频 - 如果它是全屏幕电影比更好的方式是使用本机iOS播放器'MPMoviePlayerController'(它是硬件加速的)。 – brigadir
我检查了多个引擎,但我想不知怎么我跳过了cocos2d-x。视频库是照顾低杠杆渲染特性(设置属性流,绑定纹理,渲染指数阵列等)的视频库。我目前没有任何电影回放计划。感谢您的意见。 – Sanctus2099