Я использую assimp для преобразования некоторых файлов .obj в проприетарный формат assbin, чтобы быстрее загружать их в движок, который я пишу. Мой код:
Assimp::Exporter Exporter;
Assimp::Importer Importer;
const aiExportFormatDesc* format = Exporter.GetExportFormatDescription(11);
const aiScene* pScene;
printf("Converting: Arbor Obj/Arbor");
pScene = Importer.ReadFile("Objects/Arbor Obj/Arbor.obj", aiProcess_Triangulate | aiProcess_GenSmoothNormals | aiProcess_FlipUVs);
Exporter.Export(pScene, format->id, "Objects/Arbor Obj/Arbor.ass", aiProcess_Triangulate | aiProcess_GenSmoothNormals | aiProcess_FlipUVs);
и работает безупречно, но как сохранить сжатый файл assbin я не знаю. По документации, найденной в Интернете, я знаю, что это возможно, но я не знаю, как этого добиться.
AssbinExporter.cpp
есть код для сжатия (простой zlib deflate, если на то пошло - не совсем уверен, что это было бы лучше всего), но на самом деле нет способа включить этот параметр, и в комментарии говорится только до тех пор, пока свойства не будут введены для экспортеров, что, как я полагаю, никогда не было. Поскольку в лучшем случае это zlib, я все же думаю, что было бы лучше реализовать сжатие где-нибудь еще. - person keltar   schedule 28.10.2018