ASSIMP -> Documentation -> FAQ

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 (as of 2013). 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.

Should I use the -noboost workaround?

If boost is not yet a dependency of your application, yes. There's no need to bother yourself with such a huge dependency just because of Assimp (which is a few hundred times smaller than boost). Take care of the limitations: no thread-safety in the logging system and no threading to speed up stuff like computation of normal vectors. However, all loaders and postprocessing steps are available.

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.

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.