http://assimp.sourceforge.net/
This library abstracts the process of loadinf scenes, because it loads not only meshes, but also cameras, lights, skinned meshes, materials, bones, animations, and so on, in an unified manner, so, the library provices a simple model to follow, and after it loads a scene, the library provides a series of tools to ease the conversion process so the imported data becomes useable for the engine.
list of characteristics:
-Written in portable, ISO-compliant C++
-Easily configurable and customizable
-Core interface / API is provided for both C++ and C
-Command-line interface to perform common operations (i.e. quick file stats, convert models, extract embedded textures) from the shell
-Imports bones, vertex weights and animations (i.e. skinning, skeletal animations)
-Loads multiple UV and vertex color channels (current limit is
![Cool 8)](./images/smilies/icon_cool.gif)
-Works well with UNICODE input files
-Supports complex multi-layer materials
-Supports embedded textures, both compressed (e.g. PNG) or just raw color data
-No external dependencies except boost(external link) (zlib and irrxml are also needed, but they're included in the repository so you don't need to bother). And there's even a workaround to compile Assimp without boost - with some minor limitations.
-Due to its export interface, Assimp serves as general-purpose 3D model converter
-(Just because of its name: Assimp renders your program sexier)<- this last one isn't true, Irrlicht renders are EVEN sexier XDDD
And this is a list of model and scene formats that it loads.
An asterisk indicates limited support.
Common interchange formats
Collada ( .dae )
Blender 3D ( .blend )
3ds Max 3DS ( .3ds )
3ds Max ASE ( .ase )
Wavefront Object ( .obj )
Industry Foundation Classes (IFC/Step) ( .ifc )
XGL ( .xgl,.zgl )
Stanford Polygon Library ( .ply )
*AutoCAD DXF ( .dxf )
LightWave ( .lwo )
LightWave Scene ( .lws )
Modo ( .lxo )
Stereolithography ( .stl )
DirectX X ( .x )
AC3D ( .ac )
Milkshape 3D ( .ms3d )
* TrueSpace ( .cob,.scn )
Motion Capture Formats
Biovision BVH ( .bvh )
* CharacterStudio Motion ( .csm )
Graphics Engine Formats
Ogre XML ( .xml )
Irrlicht Mesh ( .irrmesh )
* Irrlicht Scene ( .irr )
Game file formats
Quake I ( .mdl )
Quake II ( .md2 )
Quake III Mesh ( .md3 )
Quake III Map/BSP ( .pk3 )
* Return to Castle Wolfenstein ( .mdc )
Doom 3 ( .md5* )
*Valve Model ( .smd,.vta )
*Starcraft II M3 ( .m3 )
*Unreal ( .3d )
Other file formats
BlitzBasic 3D ( .b3d )
Quick3D ( .q3d,.q3s )
Neutral File Format ( .nff )
Sense8 WorldToolKit ( .nff )
Object File Format ( .off )
PovRAY Raw ( .raw )
Terragen Terrain ( .ter )
3D GameStudio (3DGS) ( .mdl )
3D GameStudio (3DGS) Terrain ( .hmp )
Izware Nendo ( .ndo )
And more stuff. If it works as it says, it is indeed a great ally.