添加嵌入纹理到Assimp matrial

时间:2017-12-25 07:27:24

标签: c++ export assimp

我想在材质中添加纹理并将其导出。

我将纹理添加到scene->mTextures。我的问题是如何将这个纹理参考添加到我的材料中?

1 个答案:

答案 0 :(得分:0)

您需要将纹理及其类型添加到材质定义中。例如,如果要添加漫反射贴图,则需要添加纹理名称,其与UV源映射的关系以及请求的钳位模式:

aiMaterial *mat = new aiMaterial;
mat->AddProperty( diffuseTexture.c_str(), 1, AI_MATKEY_TEXTURE_DIFFUSE(0) );
int uvwIndex=0;
mat->AddProperty( &uvwIndex, 1, AI_MATKEY_UVWSRC_DIFFUSE(0) );
mat->AddProperty<int>( &clampMode, 1, AI_MATKEY_MAPPINGMODE_U( aiTextureType_DIFFUSE, 0) );

UV映射和钳位模式将具有一些默认值,因此指定此选项仅适用于特殊配置。见ObjImporter

对于导出,请查看示例或文档。