2013-03-21 35 views
4

我一直在一些3D的東西,在關係到Android,具體的OpenGL ES 2.0。在我的學習路徑中,所有(大多數)示例都向您展示瞭如何獲取obj文件(wavefront.obj)並將頂點從其中取出。儘管進一步閱讀,你會發現obj文件和一些其他文件類型(在那個流行的文件類型)決定「走自己的路」,即使大多數3d庫不支持獨立索引網格(單獨索引的頂點,法線和紋理座標),這些文件類型總是使用多個索引網格。預排序3D文件類型索引繪圖

所以反正這裏是我的問題:

我在一個地方讀到一些在那裏,存在提供易於導入到OpenGL的(即沒有所有的瘋狂洗牌電動滑哈林搖的東西,我要的文件類型做一個obj文件中的數據)。有沒有人知道一些文件類型(opengl/friendly)支持索引繪圖的單個索引?

+0

但最終用一個簡單的哈希映射OBJ指數!三元獨特指標是不是太大的痛苦,是嗎? – 2013-04-04 09:45:09

+0

並非如此,主要是我想從我的項目中使用最好的文件類型的角度來看就知道了。我知道OBJ很受歡迎,COLLADA太相信。我正要看看下面的md2。 – Ryan 2013-04-05 20:01:41

回答

2

嘗試尋找在地震的MD2格式(這裏是很好的教程)http://tfc.duke.free.fr/old/models/md2.htm這是專門設計被加載到OpenGL的。然而,這是一個很好的事情,但它有點老了。

相比之下,OBJ格式依然強勁,並有很多去爲它(簡單,廣泛支持)。看起來您正處於正確的道路上,因爲您似乎明白該格式具有單獨的頂點,法線和紋理座標索引,因此您需要爲您的Vertex Arrays創建單獨的索引緩衝區。

訣竅得到它的工作好是使用快速散列表的解決方案來存儲/檢索「VERT /標準/ tex的」面子描述。 (我在OBJ進口商第一次嘗試了7秒讀取一次10000臉部對象,現在是下降到0.5秒! - 和可以或許仍有待提高好運

+0

Md2格式非常有趣,但正如你所說的那樣,我構建了一個基本上與你描述的內容基本相同的文件格式,但是寫入了一個二進制文件索引重做(我使用HashMap來做它非常嚇人的快速),我建立了一個類來讀取我的新自定義格式。我只是希望有一些東西讓事情變得非常簡單。 – Ryan 2013-04-05 20:14:38