MCPcopy Create free account
hub / github.com/assimp/assimp

github.com/assimp/assimp @v6.0.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release v6.0.5 ↗ · + Follow
22,112 symbols 54,072 edges 1,634 files 6,517 documented · 29% updated 4d agov6.0.5 · 2026-04-30★ 13,055477 open issues

Browse by type

Functions 16,928 Types & classes 5,184
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Open Asset Import Library (assimp)

Open Asset Import Library is a library that loads various 3D file formats into a shared, in-memory format. It supports more than 40 file formats for import and a growing selection of file formats for export.

Current project status

C/C++ CI Codacy Badge Quality Gate Status Average time to resolve an issue Percentage of issues still open Gurubase Financial Contributors on Open Collective

APIs are provided for C and C++. Various bindings exist to other languages (C#, Java, Python, Delphi, D). Assimp also runs on Android and iOS. Additionally, assimp features various mesh post-processing tools: normals and tangent space generation, triangulation, vertex cache locality optimization, removal of degenerate primitives and duplicate vertices, sorting by primitive type, merging of redundant materials and many more.

Project activity

Alt

Developer quickstart

git clone https://github.com/assimp/assimp
cd assimp
cmake -G Ninja -DASSIMP_BUILD_TESTS=off -DASSIMP_INSTALL=off -S . -B build
cd build
ninja

Documentation

Read our latest documentation.

Pre-built binaries

Download binaries from our Itch Projectspace.

Test data

Clone our model database for testing purposes.

Communities

Supported file formats

See the complete list of supported formats.

Building

Start by reading our build instructions. We are available in vcpkg, and our build system is CMake; if you used CMake before there is a good chance you know what to do.

Ports

Other tools

Qt5-ModelViewer is a powerful viewer based on Qt5 and Assimp's import and export abilities.

Assimp-Viewer is an experimental implementation for an Asset-Viewer based on ImGUI and Assimp (experimental).

Repository structure

Open Asset Import Library is implemented in C++. The directory structure looks like this:

code                Source code
├── AssetLib/       The asset-importer and exporter lib
├── CApi/           C-API files
├── Common/         Common code used from all modules
├── Geometry/       Geometry utilities
├── Material/       Common materials
├── Pbrt/           Physical based materials
├── PostProcessing/ Post-processing steps
├── res             Resouce files
contrib             Third-party libraries
doc                 Documentation (Doxygen source and pre-compiled docs)
fuzz                Contains the test code for the Google Fuzzer project
include             Public header C and C++ header files
scripts             Scripts are used to generate the loading code for some formats
port                Ports to other languages and scripts to maintain those.
test                Unit- and regression tests, test suite of models
├── headercheck     Implements headerchecks
├── models-nonbsd   Non-BSP licensed headers
├── models          BSP-licensed models
├── unit            Unit tests
tools               Tools (old assimp viewer, command line `assimp`)
samples             Small number of samples to illustrate possible use cases for Assimp

Contributing

We would greatly appreciate for you to contribute to assimp. The easiest way to get involved is to submit a pull request with your changes against the main repository's master branch.

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

You can support the project with your organization. Your logo will show up here with a link to your website. [Contribute]

License

Our license is based on the modified, 3-clause BSD-License.

An informal summary is: do whatever you want, but include Assimp's license text with your product - and don't sue us if our code doesn't work. Note that, unlike LGPLed code, you may link statically to Assimp. For the legal details, see the LICENSE file.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 11,583
Function 5,345
Class 4,869
Enum 309
Interface 6

Languages

C++93%
C2%
Python2%
Java2%
C#1%
Rust1%

Modules by API surface

code/AssetLib/IFC/IFCReaderGen_4.h1,135 symbols
code/AssetLib/IFC/IFCReaderGen_2x3.h873 symbols
code/AssetLib/IFC/IFCReaderGen_4.cpp569 symbols
contrib/pugixml/src/pugixml.cpp547 symbols
contrib/googletest/googlemock/include/gmock/gmock-matchers.h466 symbols
contrib/googletest/googletest/src/gtest.cc337 symbols
contrib/googletest/googletest/test/gtest_unittest.cc260 symbols
contrib/rapidjson/include/rapidjson/document.h229 symbols
code/AssetLib/IFC/IFCReaderGen1_2x3.cpp223 symbols
contrib/stb/stb_image.h218 symbols
code/AssetLib/IFC/IFCReaderGen2_2x3.cpp215 symbols
contrib/rapidjson/include/rapidjson/schema.h208 symbols

For agents

$ claude mcp add assimp \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page