-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathChangeLog.txt
226 lines (117 loc) · 7.87 KB
/
ChangeLog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
----------------------------------------------------------------------
CHANGELOG
----------------------------------------------------------------------
5.4.3.0 (26/11/2024)
- Update to Assimp native 5.4.3
- Updated to target only .NET 7
- Add ARM64 support
- Utilize built-in math types
- Generalize some return types to IEnumerable<T> in order to avoid potentially unneeded ToArray calls
- Remove unused utility methods
- Various optimizations
- Fix UTF-8 filenames
- Fix errors in post processing being ignored
5.0.0 (26/09/2022)
- Update to Assimp native 5.2.5, unmanaged structures updated to match but not all features are yet exposed to the .NET wrapper
4.1.0 (28/10/2018)
- Updated to target .Net Standard 1.3 (additional .Net 3.5 and .Net 4 targets)
- Removed old IL patcher to use new MemoryInterop.ILPatcher build time dependency (allows us to build cross-platform)
- Rewrote Sample application to be a .Net Core app that uses the Veldrid low-level graphics library for rendering
- Added x64 linux native binary, x64 macOS native binary
- Tested on Ubuntu 18.04 and MacOS 10.13 (High Sierra)
- Several fixes and updates to target latest Assimp release
- Ported over "UnmanagedLibrary" abstract code and refactored AssimpLibrary
- Added "ThrowOnLoadFailure" to configure getting back a "false" if native library fails to load or throw an exception (the default). Mono should no longer
throw a "NotImplemented" exception because of trying to get the error code from windows.
- !!Breaking Change!! Native DLLs are deployed differently and resolved at runtime differently
- Removed "DefaultLibraryPathXXBit" properties from AssimpLibrary, they are meaningless now (and probably not used)
- Introduced "UnmanagedLibraryResolver" that lets you set the following to completely configure native DLL loading:
1. Multiple probing paths
2. Multiple fallback library names (e.g. versioned binaries)
3. Override name if the default native library name is not good enough for your tastes.
- Search order of the native DLL is as follows:
1. Search user-specified probing paths
2. Search {AppBaseDirectory}/runtimes/{RID}/native/
3. Search {AppBaseDirectory}/
4. Search nuget cache based on assembly name/informational version ({UserProfile}/.nuget/packages/AssimpNet/{PackageVersion}/runtimes/{RID}/native/)
5. If all above failed, return the given name of the DLL (or override name) and let the OS try and find it (different OS' may have different strategies).
- The resolver is only used in AssimpLibrary.LoadLibrary(). The other two overloads still take in a user-supplied path/to/your/DLL.
- Native DLLs are now deployed in the "runtimes" folder of the nuget package. This means they are now picked up as dependencies by netcore (*.deps.json)
and automatically get copied during the "dotnet publish" command. During development, the system will try and locate the native DLLs in the nuget cache
(.net framework 3.5/4.0 targets still use the MSBuild targets file to copy the runtime folder to the output folder). The folder structure looks like this:
- runtimes/win-x64/native/assimp.dll
- runtimes/win-x86/native/assimp.dll
- runtimes/osx-x64/native/libassimp.dylib
- runtimes/linux-x64/native/libassimp.so
- All native binaries are named "assimp" or "libassimp" depending on platform, since we're putting them in "well known" architecture folders, no need to have unique names
- [Source Only] Added a Unity script that will make it easier for users to load the native DLLs when running in Editor/Standalone Unity 3D
- Build outputs a folder called "UnityPlugin" which you can drag and drop into the Unity Editor. A package will be available in the Asset Store as well.
Targets Assimp 4.1.0
======================================================================
3.3.2 (26/12/2016)
- Fixed up nuget package build targets.
- Added donated mac library implementation (haven't personally tested)
- Removed null/empty string checks for import format hint for reading streams - if you don't supply
a hint, Assimp will automatically try to detect what format it is
- Added logging when an invalid export format ID is encountered -- be sure to use "collada" and not "dae".
- Added additional null/empty checks if adding a material property with an invalid fully qualified name.
Targets Assimp 3.1.1
======================================================================
3.3 (03/07/2014)
- Upgraded to Assimp 3.1.1 - now with FBX support!
- Added matrix property configuration type
- Added root node transformation property configuration for use with "PreTransformVertices" post process step
- Added collada "ignore up direction" property configuration
- Added various FBX importer property configurations
- Added global property configuration to disable bone visualization when a model only has animations and no geometry
- Added support for Metadata objects on nodes
- Fixed issue with marshaling mesh names, AiMesh and AiAnimMesh are now blittable. All unmanaged structs are blittable
and .NET runtime marshaling is avoided due to issues with marshaling fixed buffers in non-blittable structures.
Happy Fourth Of July!
Targets Assimp 3.1.1
======================================================================
3.2 (14/03/2013)
- Added IOSystem/IOStream support, allowing for custom IO handling. An IOSystem can be registered to an AssimpImporter,
which is used during ImportFile and ConvertFile APIs. It currently is not supported for ImportFileFromStream APIs.
- Fixed marshalling of String material property values
- Fixed aiGetTexture function signature to take in an array of 2 UV wrapmodes
Targets Assimp 3.0.1270
======================================================================
3.1 (01/01/2013)
- Added AnyCPU support, replaced AssimpMethods with AssimpLibrary that dynamically loads/unloads the unmanaged Assimp DLL
optionally, a custom file path can be specified to load the Assimp DLL. By default, the 32 or 64 bit Assimp DLL is loaded from the
same directory that the AssimpNet DLL is located in, depending on the bitness of the process.
- Added missing properties for PreState/PostState in NodeAnimationChannel
Targets Assimp 3.0.1270
======================================================================
3.0 (11/11/2012)
- Upgraded to Assimp3.0
- Added Convert API to AssimpImporter to utilize new Export functionality
- Several fixes to Matrix-Quaternion structures
Targets Assimp 3.0.1270
======================================================================
2.1.2.1 Refresh (27/07/2012)
- Added root transformations to the importer - can specify Scale, XRotation, YRotation, and ZRotation. Can use these properties to bake the
transformation by specifying the "PreTransformVertices" post process flag.
- Added missing OffsetMatrix property to Bone
Targets Assimp 2.0.854
======================================================================
2.1.2 (04/04/2012)
- Added RemoveConfigs() method to AssimpImporter
- Fixed an occassional crash when mashalling string material properties
Targets Assimp 2.0.854
======================================================================
2.1 (28/01/2012)
- Added Matrix3x3, Matrix4x4 methods.
- Fixed several bugs in Quaternion.
- Added unit tests for Matrix3x3, Matrix4x4, Quaternion.
- Added "ImportFileFromStream" AssimpMethod and equivalent methods to the AssimpImporter:
This is the implementation for "aiImportFileFromMemory".
- Added a "ReadStreamFully" method to MemoryHelper.
- Added "Importer Settings" config classes.
- Added a sample a port of Assimp's simple textured OpenGL sample using OpenTK.
Targets Assimp 2.0.854
======================================================================
2.0 (22/01/2012)
- Initial release, core API is finished.
Targets Assimp 2.0.854