我一直在爲自己的遊戲工作一段時間,並且它在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