2017-03-05 14:05:40 +00:00
Open Asset Import Library (assimp)
==================================
2023-03-28 11:45:09 +00:00
Open Asset Import Library is a library to load 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.
2019-02-05 19:16:53 +00:00
### Current project status ###
2020-04-15 20:24:22 +00:00
[![Financial Contributors on Open Collective ](https://opencollective.com/assimp/all/badge.svg?label=financial+contributors )](https://opencollective.com/assimp)
2020-03-21 15:22:18 +00:00
![C/C++ CI ](https://github.com/assimp/assimp/workflows/C/C++%20CI/badge.svg )
2021-04-23 12:52:31 +00:00
[![Codacy Badge ](https://app.codacy.com/project/badge/Grade/9973693b7bdd4543b07084d5d9cf4745 )](https://www.codacy.com/gh/assimp/assimp/dashboard?utm_source=github.com& utm_medium=referral& utm_content=assimp/assimp& utm_campaign=Badge_Grade)
2017-06-22 08:11:54 +00:00
[![Join the chat at https://gitter.im/assimp/assimp ](https://badges.gitter.im/assimp/assimp.svg )](https://gitter.im/assimp/assimp?utm_source=badge& utm_medium=badge& utm_campaign=pr-badge& utm_content=badge)
2018-12-22 10:20:31 +00:00
[![Average time to resolve an issue ](http://isitmaintained.com/badge/resolution/assimp/assimp.svg )](http://isitmaintained.com/project/assimp/assimp "Average time to resolve an issue")
2022-05-10 07:15:57 +00:00
[![Percentage of issues still open ](http://isitmaintained.com/badge/open/assimp/assimp.svg )](http://isitmaintained.com/project/assimp/assimp "Percentage of issues still open")
2017-03-05 14:05:40 +00:00
< br >
APIs are provided for C and C++. There are various bindings to other languages (C#, Java, Python, Delphi, D). Assimp also runs on Android and iOS.
2023-10-14 09:19:19 +00:00
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.
2017-03-05 14:05:40 +00:00
2023-11-27 21:11:23 +00:00
### Documentation ###
2023-12-04 00:11:54 +00:00
Read [our latest documentation ](https://assimp-docs.readthedocs.io/en/latest/ ).
2017-03-05 14:05:40 +00:00
2023-11-27 21:11:23 +00:00
### Pre-built binaries ###
2023-12-04 00:11:54 +00:00
Download binaries from [our Itchi Projectspace ](https://kimkulling.itch.io/the-asset-importer-lib ).
2023-03-25 15:00:29 +00:00
2023-12-04 00:11:54 +00:00
### Test data ###
Clone [our model database ](https://github.com/assimp/assimp-mdb ).
2018-08-28 17:46:19 +00:00
2023-03-28 13:19:33 +00:00
### Communities ###
2023-12-04 00:11:54 +00:00
- Ask questions at [the Assimp Discussion Board ](https://github.com/assimp/assimp/discussions ).
2024-07-11 12:19:09 +00:00
- Find us on [https://discord.gg/s9KJfaem ](https://discord.gg/kKazXMXDy2 )
2023-12-04 00:11:54 +00:00
- Ask [the Assimp community on Reddit ](https://www.reddit.com/r/Assimp/ ).
2023-03-28 13:19:33 +00:00
- Ask on [StackOverflow with the assimp-tag ](http://stackoverflow.com/questions/tagged/assimp?sort=newest ).
- Nothing has worked? File a question or an issue-report at [The Assimp-Issue Tracker ](https://github.com/assimp/assimp/issues )
2017-03-05 14:05:40 +00:00
#### Supported file formats ####
2023-12-04 00:11:54 +00:00
See [the complete list of supported formats ](https://github.com/assimp/assimp/blob/master/doc/Fileformats.md ).
2017-03-05 14:05:40 +00:00
### Building ###
2023-12-04 00:11:54 +00:00
Start by reading [our build instructions ](https://github.com/assimp/assimp/blob/master/Build.md ). 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.
2017-03-05 14:05:40 +00:00
### Ports ###
* [Android ](port/AndroidJNI/README.md )
* [Python ](port/PyAssimp/README.md )
2021-04-14 06:55:55 +00:00
* [.NET ](https://bitbucket.org/Starnick/assimpnet/src/master/ )
2017-03-05 14:05:40 +00:00
* [Pascal ](port/AssimpPascal/Readme.md )
* [Javascript (Alpha) ](https://github.com/makc/assimp2json )
2021-11-01 07:09:16 +00:00
* [Javascript/Node.js Interface ](https://github.com/kovacsv/assimpjs )
2021-06-03 18:43:37 +00:00
* [Unity 3d Plugin ](https://ricardoreis.net/trilib-2/ )
2021-11-09 20:34:12 +00:00
* [Unreal Engine Plugin ](https://github.com/irajsb/UE4_Assimp/ )
2018-02-05 16:13:53 +00:00
* [JVM ](https://github.com/kotlin-graphics/assimp ) Full jvm port (current [status ](https://github.com/kotlin-graphics/assimp/wiki/Status ))
2019-03-24 12:01:38 +00:00
* [HAXE-Port ](https://github.com/longde123/assimp-haxe ) The Assimp-HAXE-port.
2021-02-15 21:05:36 +00:00
* [Rust ](https://github.com/jkvargas/russimp )
2017-03-05 14:05:40 +00:00
2017-06-22 08:11:54 +00:00
### Other tools ###
[open3mod ](https://github.com/acgessler/open3mod ) is a powerful 3D model viewer based on Assimp's import and export abilities.
2023-11-06 03:14:41 +00:00
[Assimp-Viewer ](https://github.com/assimp/assimp_view ) is an experimental implementation for an Asset-Viewer based on ImGUI and Assimp (experimental).
2017-06-22 08:11:54 +00:00
2017-03-05 14:05:40 +00:00
#### Repository structure ####
2023-10-14 09:19:19 +00:00
Open Asset Import Library is implemented in C++. The directory structure looks like this:
2017-03-05 14:05:40 +00:00
/code Source code
/contrib Third-party libraries
/doc Documentation (doxysource and pre-compiled docs)
2023-10-14 09:19:19 +00:00
/fuzz Contains the test code for the Google Fuzzer project
2017-03-05 14:05:40 +00:00
/include Public header C and C++ header files
2023-10-14 09:19:19 +00:00
/scripts Scripts are used to generate the loading code for some formats
2017-03-05 14:05:40 +00:00
/port Ports to other languages and scripts to maintain those.
/test Unit- and regression tests, test suite of models
/tools Tools (old assimp viewer, command line `assimp` )
2023-10-14 09:19:19 +00:00
/samples A small number of samples to illustrate possible use cases for Assimp
2017-03-05 14:05:40 +00:00
2019-06-12 18:44:02 +00:00
The source code is organized in the following way:
2021-05-13 16:54:21 +00:00
code/Common The base implementation for importers and the infrastructure
2023-03-28 11:45:09 +00:00
code/CApi Special implementations which are only used for the C-API
code/Geometry A collection of geometry tools
code/Material The material system
2023-10-14 09:19:19 +00:00
code/PBR An exporter for physical-based models
2021-05-13 16:54:21 +00:00
code/PostProcessing The post-processing steps
2023-10-14 09:19:19 +00:00
code/AssetLib/< FormatName > Implementation for import and export of the format
2017-03-05 14:05:40 +00:00
### Contributing ###
Contributions to assimp are highly appreciated. The easiest way to get involved is to submit
a pull request with your changes against the main repository's `master` branch.
2020-04-15 20:24:22 +00:00
## Contributors
### Code Contributors
This project exists thanks to all the people who contribute. [[Contribute ](CONTRIBUTING.md )].
< a href = "https://github.com/assimp/assimp/graphs/contributors" > < img src = "https://opencollective.com/assimp/contributors.svg?width=890&button=false" / > < / a >
### Financial Contributors
Become a financial contributor and help us sustain our community. [[Contribute ](https://opencollective.com/assimp/contribute )]
#### Individuals
< a href = "https://opencollective.com/assimp" > < img src = "https://opencollective.com/assimp/individuals.svg?width=890" > < / a >
2020-06-29 07:51:00 +00:00
2020-04-15 20:24:22 +00:00
#### Organizations
Support this project with your organization. Your logo will show up here with a link to your website. [[Contribute ](https://opencollective.com/assimp/contribute )]
< a href = "https://opencollective.com/assimp/organization/0/website" > < img src = "https://opencollective.com/assimp/organization/0/avatar.svg" > < / a >
2017-03-05 14:05:40 +00:00
### 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.
### Why this name ###
2023-10-14 09:19:19 +00:00
Sorry, we're germans :-), no English native speakers ...