在此分享一下關於1.9跟Android處理的一些心得:
- 首先就是Ogre的StringConverter,由於osstream沒辦法在所有的Android平台上順利執行,因此蠻多用snprintf取代掉了…,我自己也有用到,所以也要改。
- std::atexit無法使用,導致只好不用Loki的Singleton,自己實作。
- OgreStableHeaders.h漏了OGRE_PLATFORM == OGRE_PLATFORM_ANDROID,要補上。
- 使用Nsight visual studio edition,以便於直接在Visual Studio插中斷點進行除錯(需搭配Tegra的硬體),所以就沒有使用Android MK檔的東西,Ogre專案檔也就要自己建立了…
- OgreGLES2Prerequisites.h少定義了GL_CHECK_ERROR巨集,要記得補上 。
- OgreGLES2FrameBufferObject.cpp有一行#Else寫成#Endif 。
- 全使用Native Code,沒有一行jni及java code。
- GLSLES雖然提供mat3參數傳遞的語法,但不是每個Android硬體都可以正行執行,改成傳3個Vector比較穩
夢想還在持續中…
都有在關注 版主野心很大 加油!
回覆刪除謝謝您的回覆,希望有朝一日也能像Unity跨大部份的平台。
回覆刪除全使用Native Code,没有一行jni及java code?
回覆刪除现在NDK这么强大了?
夺啊!已经可以开始开发了,只可惜沟办法直接使用openal,音效的部份还得想办法。
回覆刪除