我正在使用assimp在我的遊戲引擎中導入3D模型。出於某種原因,無論使用何種型號或型號,assimp都不會報告任何紋理。爲什麼是這樣?Assimp不導入紋理
以下是非常簡單的設置與assimp:
const aiScene* scene = importer.ReadFile(asset, aiProcessPreset_TargetRealtime_Quality);
if (scene->HasMaterials())
{
for (unsigned int i = 0; i < scene->mNumMaterials; i++)
{
const aiMaterial* material = scene->mMaterials[i];
aiString texturePath;
unsigned int numTextures= material->GetTextureCount(aiTextureType_DIFFUSE); // always 0
if (material->GetTextureCount(aiTextureType_DIFFUSE) > 0 && material->GetTexture(aiTextureType_DIFFUSE, 0, &texturePath) == AI_SUCCESS)
{
// never happens..
// scene->mNumTextures is always 0 aswell.
}
}
}
我使用,我正有紋理,例如模型從設計用於裝載紋理的非常具體的原因教程各種型號模型使用assimp。 (例如,http://www.lighthouse3d.com/cg-topics/code-samples/importing-3d-models-with-assimp)
這是什麼原因?
說實話,我覺得從這裏下載源程序(modelimport.zip)一些-with類我遇到的最糟糕的「C」的在很長的時間。 – sehe 2013-04-21 18:40:49
呵呵。我只是修復它,所以它編譯GCC 4.7,'3文件改變,1174插入(+),1172刪除( - )'。 (我建議你可以找到更好的樣本來學習?)** [https://gist.github.com/sehe/0f8f711f44d48b9ecbbf](https://gist.github.com/sehe/0f8f711f44d48b9ecbbf)** – sehe 2013-04-21 18:59:07
我不使用教程,只是它提供的模型 – KaiserJohaan 2013-04-21 19:09:33