我正在尝试使用Assimp库将模型导入到使用VBO的基本OpenGL应用程序中。
如果我理解正确的话,glDrawElements是理想的现代绘画方式之一。
但是我们如何从通用导入库中获取该信息?
如果您有特定的Assimp图书馆知识,我们表示赞赏。
-
生成这些的过程通常是什么?
答案 0 :(得分:4)
从单个缓冲区中收集aiMesh::mFaces
的所有索引。确保将aiProcess_Triangulate
作为后处理标记传递给Assimp(在aiProcess_JoinVertices
中以及对您有用的任何内容),并跳过点和线或单独处理它们。
aiMesh
中的各种数据流 - 例如aiMesh::mVertices
和aiMesh::mNormals
需要设置为GL输入数据流(glVertexPointer
,...)。
答案 1 :(得分:1)
从documentation看起来aiFace::mIndices
从aiMesh::mFaces
索引到aiMesh::mVertices
。
aiVector3D
看起来已经布局,以便您能够使用glVertexPointer()
拨打mVertices
并直接在mIndices
中使用glDrawElements()
调用