- Notifications
You must be signed in to change notification settings - Fork3k
The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.
License
assimp/assimp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Open Asset Import Library is a library that loads various 3D file formats into a shared, in-memory format. It supports more than40 file formats for import and a growing selection of file formats for export.
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 variousmesh 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.
Download binaries fromour Itchi Projectspace.
Cloneour model database.
- Ask questions atthe Assimp Discussion Board.
- Find us onhttps://discord.gg/s9KJfaem
- Askthe Assimp community on Reddit.
- Ask onStackOverflow with the assimp-tag.
- Nothing has worked? File a question or an issue report atThe Assimp-Issue Tracker
Seethe complete list of supported formats.
Start by readingour 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.
- Android
- Python
- .NET
- Pascal
- Javascript (Alpha)
- Javascript/Node.js Interface
- Unity 3d Plugin
- Unreal Engine Plugin
- JVM Full JVM port (currentstatus)
- HAXE-Port The Assimp-HAXE-port.
- Rust
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).
Open Asset Import Library is implemented in C++. The directory structure looks like this:
/codeSource code/contribThird-party libraries/docDocumentation (Doxygen source and pre-compiled docs)/fuzz Contains the test code for the Google Fuzzer project/includePublic header C and C++ header files/scripts Scripts are used to generate the loading code for some formats/portPorts to other languages and scripts to maintain those./testUnit- and regression tests, test suite of models/toolsTools (old assimp viewer, command line `assimp`)/samplesA small number of samples to illustrate possible use cases for Assimp
The source code is organized in the following way:
code/CommonThe base implementation for importers and the infrastructurecode/CApi Special implementations which are only used for the C-APIcode/Geometry A collection of geometry toolscode/Material The material systemcode/PBR An exporter for physical-based modelscode/PostProcessingThe post-processing stepscode/AssetLib/<FormatName>Implementation for import and export of the format
I would greatly appreciate contributing to assimp. The easiest way to get involved is to submita pull request with your changes against the main repository'smaster
branch.
This project exists thanks to all the people who contribute. [Contribute].
Become a financial contributor and help us sustain our community. [Contribute]
You can support the project with your organization. Your logo will show up here with a link to your website. [Contribute]
Our license is based on the modified,3-clause BSD-License.
Aninformal 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 theLICENSE
file.
About
The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.