向 Assimp 材质添加嵌入纹理

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

我想向我的材质添加纹理并将其导出。

我为

scene->mTextures
添加了纹理。我的问题是如何将此纹理参考添加到我的材质中?

c++ export assimp
1个回答
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

要导出,只需查看示例或文档。

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