ASSIMP - Frequently Asked Questions (FAQ)
Am I allowed to use the library in a commercial product?
Yes. ASSIMP is licensed under a modified BSD license. Its contents in just one sentence: you may use the library for free, in commercial or non-commercial applications, but you must include our license with your product and you may not advertise with us.
Does ASSIMP depend on D3D(X)?
No. AssimpView does (it uses D3D9 for rendering).
Is ASSIMP able to export models?
Yes, Due to popular demand, assimp now supports an export API that is similar to the import side. Supported file formats include Obj, X, Collada, STL and more.
For which languages is the API provided?
The ASSIMP API is provided both as a plain-C interface and as an object-oriented C++ interface, which is the main API. All ports (jAssimp, Assimp.net, ...) and even the C-style API are just wrappers around this interface. Therefore, if your project allows the use of C++, you should use the C++-API.
Is this library thread-safe?
Yes. ASSIMP is completely thread-safe, as long as you create an extra 'Importer' instance for each thread. The C-API and all ports are doing this automatically for you. There are some restrictions regarding thread-safety with the -noboost workaround, don't forget to read the corresponding doc sections!
Why is it so slow?
Probably because of a excessively-validating STL implementation. There's a section in the documentation which describes how to fine-tune the performance of Microsoft's STL implementation and also another to promote STLport as a good and fast alternative. Oh yes, and try a release build with full optimizations turned on first.
Can I write a new loader for the library?
Sure, as long as you're able to write stable code and the format is not too exotic ... We'd highly appreciate any help. Why are you still reading this? Come on, start coding! :-) AssimpView complains about a missing d3dx9_3n.dll
The latest DirectX Runtimes should solve the problem.
How do I compile Assimp with a subset of importers?
You can do this via cmake, just specify the importer by typing the command:cmake CMakeLists.txt -DASSIMP_BUILD_FBX_IMPORTER
to get the FBX importer in your lib
Are you guys crazy or how did you come up with that name?
We think it's a good name, although the pun was merely unintentional. Really.
Who are you, the guys behind this library?
We are mostly professional software engineers, but not in the games industry. It's just a hobby. So far we have not much spare time. Any assistance (e.g. new loaders, bugfixes) is highly appreciated.