Open Source C++ Library for 3D Data Formats

C++ API that provides supports for loading as well as processing geometric scenes from various 3D Data Formats. You can integrate it with game engines and binding to other programming languages.

The Asset-Importer-Lib (Assimp) is a powerful open source library that is implemented in C++.  It gives software developers the capability to load as well as process geometric scenes from various 3d-data-formats inside their own C++ applications. The library is platform-independent and provides easy integration with game engines and binding to other programming languages.

There are several 3D file formats around the world, and Assimp library has included support for several important ones of them. The library is very well organized and provided support for 40+ 3D-file-formats such as Collada, 3D Studio Max 3DS and ASE, Biovision BVH, Stanford Polygon Library, AutoCAD DXF, Neutral File Format, Autodesk DXF, Object File Format, Milkshape 3D, LightWave Scene, and many more.

The library is very useful for importing elements from various sources once and storing it in an engine-specific format for easy and quick access. The latest version has also included support for exporting 3D files to other supported file formats.  The library supports features like enhanced vertex cache locality, triangulating arbitrary polygons, search degenerate polygons, split large meshes to overcome GPU limitations, optimize meshes, ensuring maximum data integrity by validating the output structure & nodes for fewer draw calls, and so on.

Previous Next

Getting Started with Assimp

The easiest way to install Assimp library is via cmake. First, you need to install cmake. Please use the following command for a smooth installation. To build the library just open a command-prompt, navigate into the repo-folder and run cmake.

Install Assimp via  cmake

cmake CMakeLists.txt

Load & Process 3D Models via C++ Library

The Open Asset Import Library (Assimp) has included support for accessing and loading 3D models from some common 3D model formats inside C++ applications. You need to provide the path to the 3D model file and it will start loading the model. You can easily create the instance and stores all information about the model inside it. The library will load and read the model in such order that materials must be loaded before meshes and meshes must be before nodes.

Convert CAD Models via C++

The open source Library Assimp gives software developers the capability to load and convert CAD models to other supported 3D models using C++ applications. You need to provide the address of the CAD file and once load you can easily convert it to other supported formats such as DAE, STL, OBJ, PLY, STEP, 3MF, FBX and many more.

Import and Apply Animation to Models

The Open Asset Import Library (Assimp) gives software programmers the ability to apply animations to the models using C++ code. The best approach will be to first animate the nodes in the scene graph after that you can calculate the bone matrices from the current state of the scene graph