File formats

ASSIMP currently supports the following file formats. Note that the library does not always support all features of a format.

CAD/3D Modelling file formats

  • 3D Studio Max 3DS ( *.3ds )
  • 3D Studio Max ASE ( *.ase )
  • Wavefront Object ( *.obj )
  • Milkshape 3D ( *.ms3d )
  • Polygon Library ( *.ply )

Game file formats

  • Valve StudioModel ( *.smd,*.vta )
  • Quake I ( *.mdl )
  • Quake II ( *.md2 )
  • Quake III ( *.md3 )
  • Return to Castle Wolfenstein ( *.mdc )
  • EliteForce II ( *.mdr )
  • Doom 3 ( *.md5 )

Other file formats

  • DirectX X ( *.x ).
  • 3D GameStudio ( *.mdl )
  • 3D GameStudio Terrain ( *.hmp )
    (All sub versions of 3D GameStudio models/terrains are supported: mdl2, mdl3, mdl4, mdl5, mdl7, hmp4, hmp5, hmp7)

Post-process Steps

Real-time rendering

  • OpenGL to DirectX conventions.
  • Limit bone weights per vertex. Useful for hardware skinning
  • Triangulate higher-level polygons. (*)
  • Remove redundant vertices.

Compute Vertex components

  • Per-face normal vectors. "Flat shading"
  • Per-vertex normal vectors. "Smooth shading"
  • Tangents and bitangents. Required for Normal Mapping

Scenegraph

  • Remove scenegraph. Transform all vertices into worldspace
  • Optimize the graph. Remove small nodes and too deep hierarchies

Other

  • Validate the output structure. For extra stability
  • Check for infacing normals.
  • Kill imported normals. Force a recomputation.
  • Split large meshes. Both a vertex and a triangle limit can be set.

(*) = Always active in jAssimp. There is no support for polygons in this port.