我正在使用 assimp 在我的游戏引擎中导入 3d 模型。出于某种原因,无论我使用什么模型或模型格式,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)
这可能是什么原因?