2010-09-10 9 views
11

Czy ktoś zna bibliotekę/interfejs C++ do obsługi danych modelu 3D we wspólnych formatach (.obj, .3ds, .ply, ...)?Gdzie mogę znaleźć bibliotekę modelowania C++ 3D, która może otwierać popularne formaty plików 3D?

Istnieje kilka bibliotek, które mogę znaleźć, jak lib3ds lub libobj, ale jeśli Chcę obsługiwać różne formaty obiektów, to naprawdę trzeba się przyzwyczaić do interfejsu API z nich wszystkich i napisać kilka moich własnych obwolut tak że mój kod nie zmienia się w bałagan.

Więc, jestem zainteresowany, czy są jakieś alternatywy (nawet komercyjne), ale które zachowują się jak swiss knife dla dużej armii różnych formatów modeli 3D?

Dziękuję.

+0

....... OpenGL? –

+2

@Billy OpenGL nie działa na poziomie formatów plików, a jedynie definiuje interfejs pomiędzy oprogramowaniem i sprzętem renderującym. (Nie znam takiego szwajcarskiego scyzoryka i po prostu zbieram różne biblioteki, które są tam, gdzie zlecono mi taką pracę.) –

+0

@ dash-tom-bang: Dzięki :) –

Odpowiedz

18

odjazdu 'Open Asset Import Library' (AssImp)

Obsługuje takie formaty:

  • Collada (.dae)
  • 3ds Max 3DS (.3 ds)
  • 3ds Max ASE (.ase)
  • Obiekt Wavefront (.obj)
  • Biblioteka wieloboków Stanforda (.ply)
  • DXF AutoCAD (.dxf)
  • Lightwave (.lwo)
  • Modo (.lxo)
  • stereolitografii (.stl)
  • AC3D (.ac)
  • Milkshape 3D (.ms3d)
  • TrueSpace (.cob, .scn)
  • Zawór model (.smd, .vta)
  • Quake I (.mdl)
  • Trzęsienie II (.md2)
  • Trzęsienie III (.md3)
  • powrotu Castle Wolfenstein (.mdc)
  • Doom 3 (.md5)
  • BioVision BVH (* .bvh)
  • CharacterStudio Ruch (* .csm)
  • DirectX X (.x).
  • BlitzBasic 3D (.b3d).
  • Quick3D (.q3d, .q3s).
  • Ogre XML (.mesh.xml).
  • Irrlicht Mesh (.irrmesh).
  • Scena irrlicht (.irr).
  • Neutral File Format (.nff)
  • Sense8 WorldToolKit (.nff) Format
  • Object File (.off)
  • Povray Raw (.raw)
  • Terragen Terrain (.ter)
  • 3D Gamestudio (.mdl)
  • 3D Gamestudio Terrain (.hmp)