August 19, 2014 at 5:17 pm #446
Assimp.net looks great but I was wondering how cross platform it is. Looking at the source code it seems it’s only really geared towards Windows. (https://code.google.com/p/assimp-net/source/browse/#svn%2Ftags%2F3.3.1)
If I recompiled most of the .dll source code (like cecil and assimp) so I could get linux / mac .so files out of them, how do you think the code would hold up? Any ideas?
August 19, 2014 at 7:53 pm #448
- This topic was modified 8 years, 1 month ago by Richard Griffiths.
The library is designed for cross-platform compatibility through Mono, but I only provide .NET support out of the box. I have had users who have gotten the library onto mac/linux and even Android devices so the code is/should be compatible with Mono. Keep in mind with mobile devices though: the library was always imagined to be for desktop usage, e.g. offline processing in a content pipeline for models.
If you drill into the AssimpLibrary.cs source the interop layer for loading the unmanaged component will have different implementations depending on runtime and we do ship with a linux implementation that loads .so rather than .dll out of the box. That was added a bit ago to aid in getting users started with a non-Windows platform. So long story short is that the code should be compatible and run well, but you just will have to find your own way in compiling it in another IDE than Visual Studio or for another target platform. None of the users who have done work in getting the library compiled for another target platform ever donated code back. I generally stick with Windows platforms and Visual Studio (although I see better and better support coming for VS with compiling with Mono and Xamarin), so development on the library is heavily influenced by where I’m taking my other projects that rely on the library.August 20, 2014 at 8:41 am #449
Thanks for the reply and useful information. I’m currently working on my own Collada importer but tempted to test this out in parallel. If I decide to follow this up I’ll post any useful information on cross platform setup here.August 20, 2014 at 2:19 pm #450
You really should. The collada importer in Assimp seems to support the format pretty well. If you’re only interested in running the library on Linux, I would imagine the only real work you’ll need to do is deal with the project files. Keep in mind the library is AnyCPU and the unmanaged library is loaded dynamically so you probably don’t have to make any modifications to the codebase itself. You’ll need to recompile Assimp for Linux though, and there probably are a lot of resources out there to compile with Mono in VS or just port the project files to MonoDevelop. Remember to run the post-process interop program to patch the AssimpNet assembly with your custom compilation.
You must be logged in to reply to this topic.