Improve platform compatibility (recent Linux, UWP, Unity, newer Assimp)
NoTuxNoBux
Branch: Deleted repository:improve-version-support
Branch: Starnick/assimpnet:master
Merged
Merged pull request
Merged in improve-version-support (pull request #5)
Merged in improve-version-support (pull request #5)
This includes all the changes from PR #4, with the following on top:
Update to Assimp 5.2.3 instead of 5.1, which had more breaking changes causing crashes. (This means AssimpNet is also incompatible with older versions, but this is probably the case every time the structures change.)
Refactor
LogStream
andIOSystem
callbacks a bit so it is possible to provide your own functions. This helps with #74 (Unity IL2CPP), which allows using the supplementary Unity code from that ticket.Split up platforms in separate files, since
UnmanagedLibrary
was becoming a bit large.Use
LoadPackagedLibrary
on UWP, because Win32’sLoadLibrary
is not available there. Should fix #73. (For the HoloLens 2 specifically, I have to test this again since I needed to use__Internal
before instead of specific DLLs, but it turns out this breaks IL2CPP builds for other platforms, such as Android, as Unity then always tries to find those symbols during build; the DLLs used now are the ones documented by Microsoft and will probably work for desktop UWP apps.)Fix loading Assimp on Linux with recent glibc versions where
libdl.so
no longer exists (because it was merged intolibc.so.6
). Should fix #83.I understand this is a bit much combined in one PR, but I wanted to get the code out there already, and possibly reiterate later.