After throwing it out the door kicking and screaming! Wew!
The latest AssimpNet is finally available to download (the last release was over a year ago, yikes!). It was a very long time in the making and most of my users have been working off of the trunk anyways. A few last minute issues cropped up that delayed the release this week but they were dealt with. Unfortunately google code has stopped allowing new downloads as of this past January so the new release ZIP archive is being hosted on this site.
The biggest enhancement to the library is the massive undertaking that was required to get proper export support. A consistent and unified marshaling scheme was implemented to easily allow for bi-directionality between unmanaged/managed memory. So you can create a scene data structure from scratch, populate it with your data, and export it to a COLLADA or OBJ file. Very nifty stuff as we also employ some fast interop techniques employed in SharpDX as well as Tesla Engine. We’re avoiding marshaling from the .NET runtime completely and instead reading and writing the data raw. Not only are we better dealing with unmanaged memory (in terms of actually creating our own unmanaged version of the scene data structure for export), but this also brings about a great boon for performance as we’re doing what amounts to a memcpy of raw bytes for most of the data in the scene structure.
Additionally the latest release includes the new unmanaged Assimp 3.1.1 release, which includes the (also) long awaited FBX support! And the managed library now has proper multithreading support by making logging streams to be global rather than per importer. There is no other shared global state which unfortunately was a sore point in previous releases. Also the AssimpImporter has been renamed to AssimpContext only to reflect that we have conversion as well as export functionality so it represents the “context” to interop with the Assimp library.
You can download HERE.
Have a happy Fourth of July folks!
Leave a Reply