Где я могу найти библиотеку С++ 3D моделирования, которая может открывать общие форматы 3D файлов?

Кто-нибудь знает любую библиотеку/интерфейс С++ для обработки данных трехмерной модели в общих форматах (.obj,.3ds,.ply,...)?

Есть несколько библиотек, которые я могу найти, например lib3ds или libobj, но если Я хочу обрабатывать разные форматы объектов, мне действительно нужно будет привыкнуть к API всех их и написать кучу собственных оберток, чтобы мой код не превратился в беспорядок.

Итак, мне интересно, есть ли альтернативы (даже коммерческие), но которые действуют как swiss knife для большой армии разных форматов 3D-модели?

Спасибо.

Ответ 1

Отъезд 'Открыть библиотеку импорта активов' (AssImp)

Он поддерживает следующие форматы:

  • Collada (.dae)
  • 3ds Max 3DS (.3ds)
  • 3ds Max ASE (.ase)
  • Объект Wavefront (.obj)
  • Библиотека Стэнфордского полигона (.ply)
  • AutoCAD DXF (.dxf)
  • LightWave (.lwo)
  • Modo (.lxo)
  • Стереолитография (.stl)
  • AC3D (.ac)
  • Milkshape 3D (.ms3d)
  • TrueSpace (.cob,.scn)
  • Модель клапана (.smd,.vta)
  • Quake я (.mdl)
  • Quake II (.md2)
  • Quake III (.md3)
  • Возвращение в замок Вольфенштейн (.mdc)
  • Doom 3 (.md5)
  • Biovision BVH (*.bvh)
  • CharacterStudio Motion (*.csm)
  • DirectX X (.x).
  • BlitzBasic 3D (.b3d).
  • Quick3D (.q3d,.q3s).
  • Ogre XML (.mesh.xml).
  • Irrlicht Mesh (.irrmesh).
  • Irrlicht Scene (.irr).
  • Нейтральный формат файла (.nff)
  • Sense8 WorldToolKit (.nff)
  • Формат файла объекта (.off)
  • POVRAY Raw (.raw)
  • Terragen Terrain (.ter)
  • 3D GameStudio (.mdl)
  • 3D GameStudio Terrain (.hmp)