2011-09-11 45 views
4

有沒有人知道可以在Android上使用的C++ 3d數學/幾何圖書館。除了矩陣計算外,它還應該支持像AABB這樣的相交測試。本機C++ 3d數學/幾何庫的android?

到目前爲止我遇到了CML,但它不支持交叉測試。除此之外,我不確定CML是否適用於Android,因爲它沒有在網站上提及。

回答

-3

Android surport OpenGL ES適用於所有開發者。您應該使用JNI在Android上構建3D項目。使用ndk-build來構建3D項目。您可以通過google android ndk找到一些有用的示例。我用ndk很少,但我相信你用ndk來構建3D項目是一個好方法。

+0

我正在使用OpenGL ES進行渲染。由於我正在實時處理三維數據,因此我正在尋找一個數學/幾何庫來進行矩陣計算和相交測試。 – Pedro

+0

這是他的問題的答案,因爲...? –

2

Computational Geometry Algorithms Library有基本的線性代數材料和一些相當先進的算法,包括AABB。它聲稱支持GCC 3.4及更高版本。我自己並沒有在Android NDK上編譯庫,但我希望你可以毫不費力地使用gcc-arm編譯器來編譯它。

0

你可以從開源的3D引擎Ogre中借用數學代碼。它寫得很好,很成熟,在MIT許可證下發布,所以你可以或多或少地做你喜歡的東西。

+0

我只是看了一下代碼,發現Ogre使用STL,但Android僅支持一組有限的STL。 – 2011-09-11 16:05:35

+0

食人魔一般使用stl,但在通用數學/ AABB代碼中並不多(除了ostream插件,我認爲你可以註釋掉)。順便說一句,如果你沒有;已經發現它,你可以瀏覽bitbucket上的源代碼 - https://bitbucket.org/sinbad/ogre/src/2f4baa3541e9/OgreMain/include/ –

+0

@Rob 感謝您的信息!我花了一段時間,但我終於設法編譯Ogre的Android數學類。順便說一下,我發現STLport已經包含在Android NDK中,但默認情況下不會編譯。所以我在Application.mk中添加了「APP_STL:= stlport_static」這一行。 – 2011-09-13 01:59:30