使用assimp获取纹理比例

问题描述 投票:0回答:1

我正在尝试使用.mtl文件中的纹理比例。在记事本中打开文件,我可以看到它有以下功能 map_Kd -s 4.000000 4.000000 1.000000 crate_diffuse.ds。

我正在尝试下面的代码,但它返回aiReturnFAILURE。

for (UINT j = 0; j < material->GetTextureCount(type); j++) 
{
    aiString str;
    material->GetTexture(type, j, &str);

    aiUVTransform uvTransform;
    if (material->Get(AI_MATKEY_UVTRANSFORM(aiTextureType_DIFFUSE, j), uvTransform) == aiReturn_FAILURE)
    {
        std::cout << "Failed\n";
    }

    texture_diffuse = std::string(str.C_Str());
    std::cout << texture_diffuse << '\n';
}
c++ assimp wavefront
1个回答
0
投票

当你的材料没有存储uvTransform时,这种情况会发生。如果没有任何uvTransform,你的缩放将是1.0。

© www.soinside.com 2019 - 2024. All rights reserved.