我正在使用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