2010-08-27 33 views
4

我正在嘗試使用Assimp庫將模型導入到使用VBO的基本OpenGL應用程序。我們如何得到glDrawElements()的索引?

如果我正確地理解它,glDrawElements是繪製事物的理想現代方法之一。

但是我們如何從通用的導入庫中獲取這些信息呢?

如果您有特定的Assimp庫知識,

-

什麼是通常的過程來產生這些?

回答

4

aiMesh::mFaces中的所有索引收集到單個緩衝區中。確保將aiProcess_Triangulate傳遞給Assimp作爲後處理標誌(在aiProcess_JoinVertices之間以及對您有用的任何東西),並跳過點和線或單獨處理它們。

aiMesh的各種數據流 - 比如aiMesh::mVerticesaiMesh::mNormals需要將其設置爲GL輸入數據流(glVertexPointer,...)。

1

documentation看起來像aiFace::mIndicesaiMesh::mFaces索引到aiMesh::mVertices

aiVector3D看起來像它的佈局,這樣你應該能夠能夠只是調用glVertexPointer()mVertices,並直接在您的通話glDrawElements()使用mIndices

相關問題