a mirror for the AssImp utilities

Kim Kulling c32f4b71b7 Create CODE_OF_CONDUCT.md 2 lat temu
.github 74c406dd26 add ci script to scan for unexpected printf statements 2 lat temu
cmake-modules 0e4ba1fdd1 Fix problems setting DirectX_LIBRARY 3 lat temu
code f81bb90f89 Merge branch 'master' into 1-1922 2 lat temu
contrib c9539f67e3 Merge branch 'master' into 1-4489 2 lat temu
doc 6aac7a2458 Fix: Fix typo in doc 2 lat temu
fuzz b170370e5c Fix: Fix memleak when exiting method by exception 2 lat temu
include 8fb83af079 Merge branch 'master' into master 2 lat temu
packaging 1ee8c1b51f Update script_x86.iss 3 lat temu
port f9fcf33aaa Bug fix: We should not be accessing `mPrivate` according to structs.Scene and fixes a crash when `mPrivate` points to invalid data. 2 lat temu
samples 5082c940d0 Fix: Replace back_inserter usage. 2 lat temu
scripts dcb89cf107 fix scan_printf script error code handling 2 lat temu
test d8e2fc30a0 Merge branch 'master' into revert-possibly-corrupted-ply-file 2 lat temu
tools 1092f0d94e Fix:Use correct encoding 2 lat temu
.clang-format 4de4c34fb2 ry to fix 2013-specific warnings in mesh.h 5 lat temu
.editorconfig 1f28662687 Implemented: Add editor config rules for *.txt files 10 lat temu
.gitattributes eb0ace4e18 exclude repository-settings from source-package generated via 'git archive' 8 lat temu
.gitignore 6ce5248931 Update .gitignore 4 lat temu
BUILDBINARIES_EXAMPLE.bat efc60076dc udpate build script to fit "Visual Studio 16 2019" Generator 3 lat temu
Build.md 80449dd014 Fixed some grammar and spelling mistakes 2 lat temu
CHANGES 224b43a3a9 Update CHANGES 7 lat temu
CMakeLists.txt 3ad67771fe Add missing pod types. 2 lat temu
CODE_OF_CONDUCT.md c32f4b71b7 Create CODE_OF_CONDUCT.md 2 lat temu
CONTRIBUTING.md 5f04cf09e7 Improve the contribution guide 7 lat temu
CREDITS 242b5d5874 Initial FBX Export Support, sponsored by MyDidimo (mydidimo.com). 7 lat temu
CodeConventions.md 7962897549 Change to what seems to be agreed upon (in line with PR #566) 10 lat temu
Dockerfile 2c5fd39176 Provide a dockerfile 4 lat temu
INSTALL 0ada8b3b5e Fixed typo 3 lat temu
LICENSE 7d68eab4a7 Update license 4 lat temu
Readme.md 16f9ba4935 Remove alarm badge 2 lat temu
SECURITY.md 096aee2c25 Create SECURITY.md 3 lat temu
assimp.pc.in 9fb81c3be6 use GNUInstallDirs where possible 5 lat temu
revision.h.in 518d50d2e6 Fixes for Windows/MSYS2 3 lat temu

Readme.md

Open Asset Import Library (assimp)

A library to import and export various 3d-model-formats including scene-post-processing to generate missing render data.

Current project status

Financial Contributors on Open Collective <img alt="Coverity Scan Build Status"

   src="https://scan.coverity.com/projects/5607/badge.svg"/>

Codacy Badge

Coverage Status Average time to resolve an issue Percentage of issues still open

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. 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.

Latest Doc's

Please check the latest documents at Asset-Importer-Lib-Doc.

Get involved

This is the development repo containing the latest features and bugfixes. For productive use though, we recommend one of the stable releases available from Github Assimp Releases.
You find a bug in the docs? Use Doc-Repo.
Please check our Wiki as well: https://github.com/assimp/assimp/wiki

If you want to check our Model-Database, use the following repo: https://github.com/assimp/assimp-mdb

Supported file formats

You can find the complete list of supported file-formats here

Building

Take a look into the https://github.com/assimp/assimp/blob/master/Build.md file. 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

open3mod is a powerful 3D model viewer based on Assimp's import and export abilities.

Repository structure

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

/code       Source code
/contrib    Third-party libraries
/doc        Documentation (doxysource and pre-compiled docs)
/fuzz           Contains the test-code for the Google-Fuzzer project
/include    Public header C and C++ header files
/scripts    Scripts 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
/tools      Tools (old assimp viewer, command line `assimp`)
/samples    A small number of samples to illustrate possible
                    use cases for Assimp

The source code is organized in the following way:

code/Common         The base implementation for importers and the infrastructure
code/PostProcessing     The post-processing steps
code/AssetLib/<FormatName>  Implementation for import and export for the format

Where to get help

To find our documentation, visit our website or check out Wiki

If the docs don't solve your problem, you can:

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.

And we also have a Gitter-channel:Gitter

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.

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

Support this 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.

Why this name

Sorry, we're germans :-), no english native speakers ...