[英]Assimp incorrectly imports OBJ indices?
我創建了自己的Model類,以抽象化在Assimp中導入模型的過程,並使添加模型變得容易。 目前,我還沒有這個工作,也沒有顯示任何模型。 我相信這是由於指數。
我在調試過程中注意到,與模型中的網格相關的索引向量始終與頂點向量具有相同數量的元素(盡管應該更多)。 例如:
vertices.size() == indices.size() //<--- true
另外,由於某種原因,所有索引向量都只包含連續的整數。 例如:
std::vector<GLuint> indices; //<--- After processing contains: {0, 1, 2, 3, ...}
這是我用來從Assimp提取索引的代碼:
//Process Indices
for (GLuint i = 0; i < mesh->mNumFaces; i++) {
aiFace face = mesh->mFaces[i];
for (GLuint j = 0; j < face.mNumIndices; j++) {
GLuint index = face.mIndices[j];
indices.push_back(index);
}
}
另外,這是我的導入標志(盡管我真的不知道它們會如何影響索引):
const aiScene *scene = import.ReadFile(path, aiProcess_Triangulate | aiProcess_FlipUVs | aiProcess_GenNormals);
原來我必須添加標志:
aiProcess_JoinIdenticalVertices
這將在所有導入的網格內標識並合並相同的頂點數據集。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.