在内存网格上应用Assimp后处理

Apply Assimp postprocessing on in-memory mesh

本文关键字:Assimp 后处理 应用 内存 网格      更新时间:2023-10-16

如何在Assimp中加载网格,编辑顶点,然后让Assimp重新计算顶点并进行其他后处理?

导入器可以导入场景并支持一些标志,其中一个标志用于生成法线。然而,在我加载网格后,我编辑了网格一点(添加一些皱纹,没有什么特别的),并想重新计算网格的法线,使用Assimp。然而,我不能把网格放回Assimp。据我所知,只有导入器可以应用后处理,我不能向导入器添加网格,并且没有对内存网格进行后处理的函数。

我如何将Assimp的后处理应用到我在程序中生成的顶点数据?

我不确定这个函数在你问这个问题的时候是否可用,但是在这个时候你可以在assimp文档中找到以下引用:

Assimp::Importer Class Reference

const aiScene * ApplyPostProcessing (unsigned int pFlags)
// Apply post-processing to an already-imported scene.

cimport.h中也有一个C-API风格的函数

cimport.h文件参考

ASSIMP_API const aiScene * aiApplyPostProcessing (const aiScene *pScene, unsigned int pFlags)
//Apply post-processing to an already-imported scene.