我已经在自己的游戏上工作了一段时间,它在 Windows 上运行良好。一切都旨在支持跨平台。为了让您理解我的问题,我将不得不解释一下一切是如何工作的:
有多个库:Platform、Video、XML、Image 和 Engine。它们中的每一个都编译为 Windows 下的 DLL 或 iOS 上的静态库。
库中的所有内容要么是普通函数(用 声明extern "C"
),要么是具有接口的对象。
文件夹结构是这样组织的:Project、Include、Source。
在包含文件夹中,只有所有平台的通用代码,如接口和函数原型。在源文件夹中还有其他特定于每个平台的文件夹。
我设法将平台库移植到 iOS 上,没有任何问题,但现在我被困在视频库上。
它处理渲染 API(windows 下的 OpenGL 和 iOS 下的 Opengl-ES 2)。
要创建驱动程序,我必须使用以下函数:
IVideoDriver* CreateVideoDriver(void* container)
容器是HWND
windows下的。
问题是我不确定如何在 iOS 下使用这种初始化样式。
我已经阅读了一些教程,查看了示例源代码,但我无法弄清楚如何做到这一点。从我看到的 OpenGL 初始化必须在一个视图中完成,我不知道如何将所有这些与我的代码链接起来。我知道我必须使用一些objective-c 代码,但这不是问题。
谁能帮我解决这个问题?