【问题标题】:Getting the texture scale with assimp使用 assimp 获取纹理比例
【发布时间】:2020-09-01 15:29:12
【问题描述】:

我正在尝试 .mtl 文件中的纹理比例。在记事本中打开文件我可以看到它有 ma​​p_Kd -s 4.000000 4.000000 1.000000 crate_diffuse.dds

我正在尝试下面的代码,但它返回 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】:

当没有为您的材质存储 uvTransform 时,会发生这种情况。如果没有任何 uvTransform,您的缩放比例将为 1.0。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-14
    • 2017-09-27
    • 2013-12-27
    • 2016-12-28
    • 2013-05-01
    • 2019-03-25
    • 1970-01-01
    • 2021-10-23
    相关资源
    最近更新 更多