Библиотека Assimp — относительно тяжеловесное, но самое функциональное решение для загрузки 3D-моделей. У меня наконец-то дошли руки добавить поддержку Assimp 5+ в Dagon как расширение dagon:assimp
, благодаря чему можно будет использовать в движке модели форматов FBX, Collada, 3DS и многих других. Пока загружаются только меши, но в планах добавить поддержку материалов, узлов и анимации.
Перед загрузкой модели можно задать кастомные флаги постпроцессора:
AssimpAsset aModel;
override void beforeLoad()
{
aModel = this.addAssimpAsset("assets/cacodemon.fbx");
aModel.loaderOption =
aiPostProcessSteps.Triangulate | aiPostProcessSteps.FlipUVs;
}
После этого можно использовать меши из массива aModel.meshes
для рендеринга:
auto e = addEntity();
e.drawable = aModel.meshes[0];
