1
0
mirror of synced 2024-09-23 19:18:21 +02:00

Update assimp to the latest.

This build will fix DAE vertex colors importing wrong. May fix other potential importing issues.
This commit is contained in:
KillzXGaming 2020-02-17 20:12:47 -05:00
parent 24b33aae15
commit cc81f88c9a
22 changed files with 37168 additions and 24 deletions

View File

@ -733,11 +733,10 @@ namespace Toolbox.Library
vert.uv2 = new Vector2(msh.TextureCoordinateChannels[2][v].X, msh.TextureCoordinateChannels[2][v].Y);
if (msh.HasTangentBasis)
vert.tan = new Vector4(msh.Tangents[v].X, msh.Tangents[v].Y, msh.Tangents[v].Z, 1);
//Todo Assimp always reads vertex colors wrong!
// if (msh.HasVertexColors(0))
// vert.col = new Vector4(msh.VertexColorChannels[0][v].R, msh.VertexColorChannels[0][v].G, msh.VertexColorChannels[0][v].B, msh.VertexColorChannels[0][v].A);
// if (msh.HasVertexColors(1))
// vert.col2 = new Vector4(msh.VertexColorChannels[1][v].R, msh.VertexColorChannels[1][v].G, msh.VertexColorChannels[1][v].B, msh.VertexColorChannels[1][v].A);
if (msh.HasVertexColors(0))
vert.col = new Vector4(msh.VertexColorChannels[0][v].R, msh.VertexColorChannels[0][v].G, msh.VertexColorChannels[0][v].B, msh.VertexColorChannels[0][v].A);
if (msh.HasVertexColors(1))
vert.col2 = new Vector4(msh.VertexColorChannels[1][v].R, msh.VertexColorChannels[1][v].G, msh.VertexColorChannels[1][v].B, msh.VertexColorChannels[1][v].A);
if (msh.HasTangentBasis)
vert.bitan = new Vector4(msh.BiTangents[v].X, msh.BiTangents[v].Y, msh.BiTangents[v].Z, 1);
vertices.Add(vert);

BIN
Toolbox/Lib/AssimpNet.dll Normal file

Binary file not shown.

View File

@ -533,7 +533,7 @@
<summary>
Represents a single bone of a mesh. A bone has a name which allows it to be found in the frame
hierarchy and by which it can be addressed by animations. In addition it has a number of
influences on vertices.
influences on vertices and a matrix relating the mesh position to the position of the bone at the time of binding.
</summary>
</member>
<member name="P:Assimp.Bone.Name">
@ -553,12 +553,16 @@
</member>
<member name="P:Assimp.Bone.VertexWeights">
<summary>
Gets the vertex weights owned by the bone.
Gets the influence weights of this bone, by vertex index.
</summary>
</member>
<member name="P:Assimp.Bone.OffsetMatrix">
<summary>
Gets or sets the matrix that transforms from mesh space to bone space in bind pose.
Gets or sets the matrix that transforms from bone space to mesh space in bind pose. This matrix describes the
position of the mesh in the local space of this bone when the skeleton was bound. Thus it can be used directly to determine a desired vertex
position, given the world-space transform of the bone when animated, and the position of the vertex in mesh space.
It is sometimes called an inverse-bind matrix or inverse-bind pose matrix.
</summary>
</member>
<member name="M:Assimp.Bone.#ctor">
@ -599,6 +603,74 @@
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.BoundingBox">
<summary>
Represents an axis-aligned bounding box
</summary>
</member>
<member name="F:Assimp.BoundingBox.Min">
<summary>
Minimum point of the bounding box.
</summary>
</member>
<member name="F:Assimp.BoundingBox.Max">
<summary>
Maximum point of the bounding box.
</summary>
</member>
<member name="M:Assimp.BoundingBox.#ctor(Assimp.Vector3D,Assimp.Vector3D)">
<summary>
Constructs a new BoundingBox.
</summary>
<param name="min">Minimum point.</param>
<param name="max">Maximum point.</param>
</member>
<member name="M:Assimp.BoundingBox.op_Equality(Assimp.BoundingBox,Assimp.BoundingBox)">
<summary>
Tests equality between two Bounding Boxes.
</summary>
<param name="a">First BoundingBox</param>
<param name="b">Second BoundingBox</param>
<returns>True if the Bounding Boxes are equal, false otherwise</returns>
</member>
<member name="M:Assimp.BoundingBox.op_Inequality(Assimp.BoundingBox,Assimp.BoundingBox)">
<summary>
Tests inequality between two Bounding Boxes.
</summary>
<param name="a">First BoundingBox</param>
<param name="b">Second BoundingBox</param>
<returns>True if the Bounding Boxes are not equal, false otherwise</returns>
</member>
<member name="M:Assimp.BoundingBox.Equals(Assimp.BoundingBox)">
<summary>
Tests equality between this BoundingBox and another BoundingBox.
</summary>
<param name="other">BoundingBox to test against</param>
<returns>True if components are equal</returns>
</member>
<member name="M:Assimp.BoundingBox.Equals(System.Object)">
<summary>
Tests equality between this vector and another object.
</summary>
<param name="obj">Object to test against</param>
<returns>True if the object is a vector and the components are equal</returns>
</member>
<member name="M:Assimp.BoundingBox.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
</returns>
</member>
<member name="M:Assimp.BoundingBox.ToString">
<summary>
Returns a <see cref="T:System.String"/> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String"/> that represents this instance.
</returns>
</member>
<member name="T:Assimp.Camera">
<summary>
Describes a right-handed camera in the scene. An important aspect is that
@ -1713,6 +1785,24 @@
</summary>
<param name="episilon">Episilon for animation value comparisons.</param>
</member>
<member name="T:Assimp.Configs.IgnoreTextureCoordinatesConfig">
<summary>
Configuration for the <see cref="F:Assimp.PostProcessSteps.FindInvalidData"/> step. Set to true to
ignore texture coordinates. This may be useful if you have to assign different kinds of textures,
like seasonally variable ones - one for summer and one for winter. Default is false.
</summary>
</member>
<member name="P:Assimp.Configs.IgnoreTextureCoordinatesConfig.IgnoreTextureCoordinatesConfigName">
<summary>
Gets the string name used by IgnoreTextureCoordinatesConfig.
</summary>
</member>
<member name="M:Assimp.Configs.IgnoreTextureCoordinatesConfig.#ctor(System.Boolean)">
<summary>
Constructs a new IgnoreTextureCoordinatesConfig.
</summary>
<param name="ignoreTexCoords">True if texture coordinates should be ignored, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.TransformUVConfig">
<summary>
Configuration for the <see cref="F:Assimp.PostProcessSteps.TransformUVCoords"/> step that
@ -1840,7 +1930,7 @@
<member name="T:Assimp.Configs.GlobalScaleConfig">
<summary>
Configures the <see cref="F:Assimp.PostProcessSteps.GlobalScale"/> step to scale the entire scene by a certain amount. Some importers provide a mechanism to define a scaling unit for the model,
which this processing step can utilize.
which this processing step can utilize. Default is 1.0.
</summary>
<seealso cref="T:Assimp.Configs.FloatPropertyConfig" />
</member>
@ -1855,6 +1945,22 @@
</summary>
<param name="globalScale">Value to scale the entire scene by.</param>
</member>
<member name="T:Assimp.Configs.AppScaleConfig">
<summary>
Applies an application-specific scaling to the <see cref="T:Assimp.Configs.GlobalScaleConfig"/> to allow for backwards compatibility. Default is 1.0.
</summary>
</member>
<member name="P:Assimp.Configs.AppScaleConfig.AppScaleConfigName">
<summary>
Gets the string name used by AppScaleConfig.
</summary>
</member>
<member name="M:Assimp.Configs.AppScaleConfig.#ctor(System.Single)">
<summary>
Constructs a new AppScaleConfig.
</summary>
<param name="appScale">Value to scale the global scale by.</param>
</member>
<member name="T:Assimp.Configs.GlobalKeyFrameImportConfig">
<summary>
Sets the vertex animation keyframe to be imported. Assimp does not support vertex keyframes (only
@ -2343,6 +2449,24 @@
</summary>
<param name="ignoreUpDirection">True if the loader should ignore the up direction, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.ColladaUseColladaNamesConfig">
<summary>
Specifies whether the Collada loader should use Collada names as node names.
If this property is set to true, the Collada names will be used as the node name. The behavior is to use the id tag (resp. sid tag, if no id tag is present) instead.
Default is false.
</summary>
</member>
<member name="P:Assimp.Configs.ColladaUseColladaNamesConfig.ColladaUseColladaNamesConfigName">
<summary>
Gets the string name used by ColladaUseColladaNamesConfig.
</summary>
</member>
<member name="M:Assimp.Configs.ColladaUseColladaNamesConfig.#ctor(System.Boolean)">
<summary>
Constructs a new ColladaUseColladaNamesConfig.
</summary>
<param name="useColladaNames">True if collada names should be used as node names, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.FBXImportAllGeometryLayersConfig">
<summary>
Specifies whether the FBX importer will merge all geometry layers present in the source file or import only the first. Default is true.
@ -2409,17 +2533,17 @@
</summary>
<param name="importTextures">True if the FBX importer should import embedded textures, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.FBXImportSearchEmbeddedTexturesConfig">
<member name="T:Assimp.Configs.FBXImportEmbeddedTexturesLegacyNamingConfig">
<summary>
Specifies if the FBX importer should search for embedded loaded textures, where no embedded texture data is provided. Default is false.
</summary>
</member>
<member name="P:Assimp.Configs.FBXImportSearchEmbeddedTexturesConfig.FBXImportSearchEmbeddedTexturesConfigName">
<member name="P:Assimp.Configs.FBXImportEmbeddedTexturesLegacyNamingConfig.FBXImportEmbeddedTexturesLegacyNamingConfigName">
<summary>
Gets the string name used by FBXImportSearchEmbeddedTexturesConfig.
</summary>
</member>
<member name="M:Assimp.Configs.FBXImportSearchEmbeddedTexturesConfig.#ctor(System.Boolean)">
<member name="M:Assimp.Configs.FBXImportEmbeddedTexturesLegacyNamingConfig.#ctor(System.Boolean)">
<summary>
Constructs a new FBXImportSearchEmbeddedTexturesConfig.
</summary>
@ -2525,6 +2649,55 @@
</summary>
<param name="optimizeEmptyAnimations">True if empty animation curves should be dropped, false otherwise.</param>
</member>
<member name="T:Assimp.Configs.FBXConvertToMetersConfig">
<summary>
Specifies whether the importer shall convert the unit from centimeter (cm) to meter (m). Default value is false.
</summary>
</member>
<member name="P:Assimp.Configs.FBXConvertToMetersConfig.FBXConvertToMetersConfigName">
<summary>
Gets the string name used by FBXConvertToMetersConfig.
</summary>
</member>
<member name="M:Assimp.Configs.FBXConvertToMetersConfig.#ctor(System.Boolean)">
<summary>
Constructs a new FBXConvertToMetersConfig.
</summary>
<param name="convertToMeters">True if the importer converts the unit from cm to m, false if do not do a conversion.</param>
</member>
<member name="T:Assimp.Configs.SmdLoadAnimationListConfig">
<summary>
Specifies whether the importer will load multiple animations. Default value is true.
</summary>
</member>
<member name="P:Assimp.Configs.SmdLoadAnimationListConfig.SmdLoadAnimationListConfigName">
<summary>
Gets the string name used by SmdLoadAnimationListConfig.
</summary>
</member>
<member name="M:Assimp.Configs.SmdLoadAnimationListConfig.#ctor(System.Boolean)">
<summary>
Constructs a new SmdLoadAnimationListConfig.
</summary>
<param name="loadAnimList">True if the importer should load multiple animations, false if only one animation should be loaded.</param>
</member>
<member name="T:Assimp.Configs.RemoveEmptyBonesConfig">
<summary>
Specifies whether the importer removes empty bones or not. Empty bones are often used to define connections for other models (e.g.
attachment points). Default value is true.
</summary>
</member>
<member name="P:Assimp.Configs.RemoveEmptyBonesConfig.RemoveEmptyBonesConfigName">
<summary>
Gets the string name used by RemoveEmptyBonesConfig.
</summary>
</member>
<member name="M:Assimp.Configs.RemoveEmptyBonesConfig.#ctor(System.Boolean)">
<summary>
Constructs a new RemoveEmptyBonesConfig.
</summary>
<param name="removeEmptyBones">True if the importer should remove empty bones, false if they should be kept.</param>
</member>
<member name="T:Assimp.Configs.XFileUseDoublesConfig">
<summary>
Specifies if the X-file exporter should use 64-bit doubles rather than 32-bit floats.
@ -2541,6 +2714,23 @@
</summary>
<param name="useDoubles">True if the x file uses 64-bit double values rather than 32-bit float values.</param>
</member>
<member name="T:Assimp.Configs.ExportPointCloudsConfig">
<summary>
Specifies if the export process should disable a validation step that would remove data that does not contain faces. This will
enable point cloud data to be exported, since the 3D data is a collection of vertices without face data.
</summary>
</member>
<member name="P:Assimp.Configs.ExportPointCloudsConfig.ExportPointCloudsConfigName">
<summary>
Gets the string name used by ExportPointCloudsConfig.
</summary>
</member>
<member name="M:Assimp.Configs.ExportPointCloudsConfig.#ctor(System.Boolean)">
<summary>
Constructs a new ExportPointCloudConfig.
</summary>
<param name="exportPointCloud">True if the exporter should treat vertices not grouped in faces as point clouds, false otherwise.</param>
</member>
<member name="T:Assimp.EmbeddedTexture">
<summary>
Represents an embedded texture. Some file formats directly embed texture assets.
@ -2551,6 +2741,11 @@
if it is compressed or not.
</summary>
</member>
<member name="P:Assimp.EmbeddedTexture.Filename">
<summary>
Gets or sets the texture's original filename.
</summary>
</member>
<member name="P:Assimp.EmbeddedTexture.IsCompressed">
<summary>
Gets if the texture is compressed or not.
@ -2608,15 +2803,16 @@
reading from a native value.
</summary>
</member>
<member name="M:Assimp.EmbeddedTexture.#ctor(System.String,System.Byte[])">
<member name="M:Assimp.EmbeddedTexture.#ctor(System.String,System.Byte[],System.String)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.EmbeddedTexture"/> class. This creates a compressed
embedded texture.
</summary>
<param name="compressedFormatHint">The 3 character format hint.</param>
<param name="compressedData">The compressed data.</param>
<param name="originalFileName">Optional file name for the texture.</param>
</member>
<member name="M:Assimp.EmbeddedTexture.#ctor(System.Int32,System.Int32,Assimp.Texel[])">
<member name="M:Assimp.EmbeddedTexture.#ctor(System.Int32,System.Int32,Assimp.Texel[],System.String)">
<summary>
Constructs a new instance of the <see cref="T:Assimp.EmbeddedTexture"/> class. This creates an uncompressed
embedded texture.
@ -2624,6 +2820,7 @@
<param name="width">Width of the texture</param>
<param name="height">Height of the texture</param>
<param name="uncompressedData">Color data</param>
<param name="originalFileName">Optional file name for the texture.</param>
<exception cref="T:System.ArgumentException">Thrown if the data size does not match width * height.</exception>
</member>
<member name="P:Assimp.EmbeddedTexture.Assimp#IMarshalable{Assimp#EmbeddedTexture,Assimp#Unmanaged#AiTexture}#IsNativeBlittable">
@ -2961,6 +3158,10 @@
</item>
</list>
<para>
This step also removes very small triangles with a surface area smaller than 10^-6. If you rely on having these small triangles, or notice holes
in your model, set the property <see cref="T:Assimp.Configs.RemoveDegeneratePrimitivesCheckAreaConfig"/> to false.
</para>
<para>
Degenerated polygons are not necessarily evil and that's why they are not removed by default. There are several
file formats which do not support lines or points where exporters bypass the format specification and write
them as degenerated triangles instead.
@ -3086,8 +3287,31 @@
</member>
<member name="F:Assimp.PostProcessSteps.GlobalScale">
<summary>
This step will perform a global scale of the model. Some importers provide a mechanism to define a scaling unit for the model, which this processing step can utilize.
Use AI_CONFIG_GLOBAL_SCALE_FACTOR_KEY to control this.
This step will perform a global scale of the model. Some importers provide a mechanism to define a scaling unit for the model, which this processing step can utilize.
Use AI_CONFIG_GLOBAL_SCALE_FACTOR_KEY to setup the global scaling factor.
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.EmbedTextures">
<summary>
A post processting step to embed textures. This will remove external data dependencies for textures. If a texture's file does not exist at the specified path (due, for instance, to
an absolute path generate on another system), it will check if a file with the same name exists at the root folder of the imported model, and if so, embeds that.
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.ForceGenerateNormals">
<summary>
If the step to generate normals is set, it will not run if normals already exist. This flag will force that step to run even if normals are present.
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.DropNormals">
<summary>
Drops normals for all faces of all meshes. This is ignored if no normals are present. Face normals are shared between all points of a single face,
so a single point can have multiple normals, which forces the library to duplicate vertices in some cases. <see cref="F:Assimp.PostProcessSteps.JoinIdenticalVertices"/> is
*senseless* then. This process gives sense back to <see cref="F:Assimp.PostProcessSteps.JoinIdenticalVertices"/>.
</summary>
</member>
<member name="F:Assimp.PostProcessSteps.GenerateBoundingBoxes">
<summary>
Generate bounding boxes for each mesh.
</summary>
</member>
<member name="T:Assimp.ExcludeComponent">
@ -3599,6 +3823,36 @@
A reflection texture. Contains the color of a perfect mirror reflection. This is rarely used, almost never for real-time applications.
</summary>
</member>
<member name="F:Assimp.TextureType.BaseColor">
<summary>
PBR texture property. Diffuse/albedo map containing base color regardless of the object surface type.
</summary>
</member>
<member name="F:Assimp.TextureType.NormalCamera">
<summary>
PBR texture property. This is not documented in assimp native, but is a normal map in a PBR workflow.
</summary>
</member>
<member name="F:Assimp.TextureType.EmissionColor">
<summary>
PBR texture property. Emissive color map, similar to <see cref="F:Assimp.TextureType.Emissive"/>.
</summary>
</member>
<member name="F:Assimp.TextureType.Metalness">
<summary>
PBR texture property. Describes how reflective the object surface is.
</summary>
</member>
<member name="F:Assimp.TextureType.Roughness">
<summary>
PBR texture property. Describes how rough or smooth the object surface is.
</summary>
</member>
<member name="F:Assimp.TextureType.AmbientOcclusion">
<summary>
Dedicated ambient occlusion map, some older formats may set this as a <see cref="F:Assimp.TextureType.Lightmap"/> texture.
</summary>
</member>
<member name="F:Assimp.TextureType.Unknown">
<summary>
An unknown texture that does not mention any of the defined texture type definitions. It is still imported, but is excluded from any
@ -4678,6 +4932,16 @@
Gets the opacity. Default value is 1.0f.
</summary>
</member>
<member name="P:Assimp.Material.HasTransparencyFactor">
<summary>
Checks if the material has a transparency factor property.
</summary>
</member>
<member name="P:Assimp.Material.TransparencyFactor">
<summary>
Gets the transparency factor. This is used to make a surface more or less opaque (0 = opaque, 1 = transparent). Default value is 0.0f.
</summary>
</member>
<member name="P:Assimp.Material.HasBumpScaling">
<summary>
Checks if the material has a bump scaling property.
@ -4868,6 +5132,16 @@
Gets or sets light map texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.HasTextureAmbientOcclusion">
<summary>
Gets if the material has an ambient occlusion map in in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.TextureAmbientOcclusion">
<summary>
Gets or sets ambient occlusion texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.HasTextureReflection">
<summary>
Gets if the material has a reflection texture in the first texture index.
@ -4878,6 +5152,26 @@
Gets or sets reflection texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.IsPBRMaterial">
<summary>
Determines if the material is part of a PBR workflow or not.
</summary>
</member>
<member name="P:Assimp.Material.PBR">
<summary>
Gets a group accessor for any PBR properties in the material.
</summary>
</member>
<member name="P:Assimp.Material.HasShaders">
<summary>
Gets if the material has embedded shader source code.
</summary>
</member>
<member name="P:Assimp.Material.Shaders">
<summary>
Gets a group accessor for any embedded shader source code in the material.
</summary>
</member>
<member name="M:Assimp.Material.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Material"/> class.
@ -5069,6 +5363,148 @@
<param name="nativeValue">Native value to free</param>
<param name="freeNative">True if the unmanaged memory should be freed, false otherwise.</param>
</member>
<member name="T:Assimp.Material.PBRMaterialProperties">
<summary>
Groups all PBR workflow properties into a single accessor.
</summary>
</member>
<member name="P:Assimp.Material.PBRMaterialProperties.HasTextureBaseColor">
<summary>
Gets if the material has a base color map (albedo/diffuse) texture in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.PBRMaterialProperties.TextureBaseColor">
<summary>
Gets or sets the base color map (albedo/diffuse) texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.PBRMaterialProperties.HasTextureNormalCamera">
<summary>
Gets if the material has a normal map texture in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.PBRMaterialProperties.TextureNormalCamera">
<summary>
Gets or sets the normal map texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.PBRMaterialProperties.HasTextureEmissionColor">
<summary>
Gets if the material has an emission color map texture in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.PBRMaterialProperties.TextureEmissionColor">
<summary>
Gets or sets the emission color map texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.PBRMaterialProperties.HasTextureMetalness">
<summary>
Gets if the material has a metalness map texture in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.PBRMaterialProperties.TextureMetalness">
<summary>
Gets or sets the metalness map texture properties in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.PBRMaterialProperties.HasTextureRoughness">
<summary>
Gets if the material has a roughness map texture in the first texture index.
</summary>
</member>
<member name="P:Assimp.Material.PBRMaterialProperties.TextureRoughness">
<summary>
Gets or sets the roughness map texture properties in the first texture index.
</summary>
</member>
<member name="M:Assimp.Material.PBRMaterialProperties.#ctor(Assimp.Material)">
<summary>
Constructs new property group accessor.
</summary>
<param name="parent">Material</param>
</member>
<member name="T:Assimp.Material.ShaderMaterialProperties">
<summary>
Groups all the properties for shader sources in a single accessor.
</summary>
</member>
<member name="P:Assimp.Material.ShaderMaterialProperties.HasShaderLanguageType">
<summary>
Gets if the material has a property for shader language type.
</summary>
</member>
<member name="P:Assimp.Material.ShaderMaterialProperties.ShaderLanguageType">
<summary>
Gets or sets what language (HLSL, GLSL, etc) any shader source code in this material is of.
</summary>
</member>
<member name="P:Assimp.Material.ShaderMaterialProperties.HasVertexShader">
<summary>
Gets if the material has a property for vertex shader source code.
</summary>
</member>
<member name="P:Assimp.Material.ShaderMaterialProperties.VertexShader">
<summary>
Gets or sets vertex shader source code.
</summary>
</member>
<member name="P:Assimp.Material.ShaderMaterialProperties.HasFragmentShader">
<summary>
Gets if the material has a property for fragment (pixel) shader source code.
</summary>
</member>
<member name="P:Assimp.Material.ShaderMaterialProperties.FragmentShader">
<summary>
Gets or sets fragment (pixel) shader source code.
</summary>
</member>
<member name="P:Assimp.Material.ShaderMaterialProperties.HasGeometryShader">
<summary>
Gets if the material has a property for geometry shader source code.
</summary>
</member>
<member name="P:Assimp.Material.ShaderMaterialProperties.GeometryShader">
<summary>
Gets or sets geometry shader source code.
</summary>
</member>
<member name="P:Assimp.Material.ShaderMaterialProperties.HasTesselationShader">
<summary>
Gets if the material has a property for tesselation shader source code.
</summary>
</member>
<member name="P:Assimp.Material.ShaderMaterialProperties.TesselationShader">
<summary>
Gets or sets tesselation shader source code.
</summary>
</member>
<member name="P:Assimp.Material.ShaderMaterialProperties.HasPrimitiveShader">
<summary>
Gets if the material has a property for primitive (domain) shader source code.
</summary>
</member>
<member name="P:Assimp.Material.ShaderMaterialProperties.PrimitiveShader">
<summary>
Gets or sets primitive (domain) shader source code.
</summary>
</member>
<member name="P:Assimp.Material.ShaderMaterialProperties.HasComputeShader">
<summary>
Gets if the material has a property for compute shader source code.
</summary>
</member>
<member name="P:Assimp.Material.ShaderMaterialProperties.ComputeShader">
<summary>
Gets or sets compute shader source code.
</summary>
</member>
<member name="M:Assimp.Material.ShaderMaterialProperties.#ctor(Assimp.Material)">
<summary>
Constructs new property group accessor.
</summary>
<param name="parent">Material</param>
</member>
<member name="T:Assimp.MaterialProperty">
<summary>
A key-value pairing that represents some material property.
@ -6479,6 +6915,11 @@
Gets or sets the morph method used when animation attachments are used.
</summary>
</member>
<member name="P:Assimp.Mesh.BoundingBox">
<summary>
Gets or sets the axis aligned bounding box that contains the extents of the mesh.
</summary>
</member>
<member name="M:Assimp.Mesh.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Mesh"/> class.
@ -6582,6 +7023,11 @@
which references singular mesh attachments by their ID and binds them to a time offset.
</summary>
</member>
<member name="P:Assimp.MeshAnimationAttachment.Name">
<summary>
Gets or sets the mesh animation name.
</summary>
</member>
<member name="P:Assimp.MeshAnimationAttachment.VertexCount">
<summary>
Gets the number of vertices in this mesh. This is a replacement
@ -7856,6 +8302,12 @@
Gets the materials in the scene.
</summary>
</member>
<member name="P:Assimp.Scene.Metadata">
<summary>
Gets the metadata of the scene. This data contains global metadata which belongs to the scene like
unit-conversions, versions, vendors or other model-specific data. This can be used to store format-specific metadata as well.
</summary>
</member>
<member name="M:Assimp.Scene.#ctor">
<summary>
Constructs a new instance of the <see cref="T:Assimp.Scene"/> class.
@ -7866,6 +8318,14 @@
Clears the scene of all components.
</summary>
</member>
<member name="M:Assimp.Scene.GetEmbeddedTexture(System.String)">
<summary>
Gets an embedded texture by a string. The string may be a texture ID in the format of "*1" or is the
file name of the texture.
</summary>
<param name="fileName">Texture ID or original file name.</param>
<returns>Embedded texture or null if it could not be found.</returns>
</member>
<member name="M:Assimp.Scene.ToUnmanagedScene(Assimp.Scene)">
<summary>
Marshals a managed scene to unmanaged memory. The unmanaged memory must be freed with a call to
@ -8252,6 +8712,14 @@
<para>Type: float. Default: 0.0f (comparisons are exact)</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_FID_IGNORE_TEXTURECOORDS">
<summary>
Input parameter to the <see cref="F:Assimp.PostProcessSteps.FindInvalidData"/> step. Set to true to
ignore texture coordinates. This may be useful if you have to assign different kinds of textures,
like seasonally variable ones - one for summer and one for winter.
<para>Type: Bool. Default: false.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_PP_TUV_EVALUATE">
<summary>
Input parameter to the <see cref="F:Assimp.PostProcessSteps.TransformUVCoords"/> step.
@ -8315,6 +8783,12 @@
<para>Type: Float. Default: 1.0f.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_APP_SCALE_KEY">
<summary>
Applies application-specific scale to the global scale factor to allow for backwards compatibility.
<para>Type: Float. Default: 1.0f.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_GLOBAL_KEYFRAME">
<summary>
Sets the vertex animation keyframe to be imported. Assimp does not support
@ -8531,6 +9005,14 @@
<para>Type: Bool. Default: false</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_COLLADA_USE_COLLADA_NAMES">
<summary>
Specifies whether the Collada loader should use Collada names as node names.
If this property is set to true, the Collada names will be used as the
node name. The default is to use the id tag (resp. sid tag, if no id tag is present) instead.
<para>Type: Bool. Default: false.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_FBX_READ_ALL_GEOMETRY_LAYERS">
<summary>
Specifies whether the FBX importer will merge all geometry layers present in the source file or take only the first.
@ -8556,9 +9038,9 @@
<para>Type: Bool. Default: true.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_FBX_SEARCH_EMBEDDED_TEXTURES">
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_FBX_EMBEDDED_TEXTURES_LEGACY_NAMING">
<summary>
Specifies whether the FBX importer will search for embedded loaded textures, where no embedded texture data is provided.
Specifies whether the fbx importer will use the legacy embedded texture naming.
<para>Type: Bool. Default: false.</para>
</summary>
</member>
@ -8602,12 +9084,40 @@
<para>Type: Bool. Default: true.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_FBX_CONVERT_TO_M">
<summary>
Specifies whether the importer shall convert the unit from centimeter (cm) to meter (m).
<para>Type: Bool. Default: false.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_SMD_LOAD_ANIMATION_LIST">
<summary>
Specifies whether the importer will load multiple animations.
<para>Type: Bool. Default: true.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_IMPORT_REMOVE_EMPTY_BONES">
<summary>
Specifies whether the importer removes empty bones or not. Empty bones are often used to define connections for other models (e.g.
attachment points).
<para>Type: Bool. Default: true.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_EXPORT_XFILE_64BIT">
<summary>
Specifies if the X-file exporter should use 64-bit doubles rather than 32-bit floats.
<para>Type: Bool. Default: false.</para>
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiConfigs.AI_CONFIG_EXPORT_POINT_CLOUDS">
<summary>
Specifies whether the export should be able to export point clouds. When this flag is not defined
the render data has to contain valid faces. Point clouds are only a collection of vertices which have no spatial
organization by a face and the validation process will remove them. Enabling this feature will switch off the
flag and enable the functionality to export pure point clouds.
<para>Type: Bool. Default: false.</para>
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiDefines">
<summary>
Static class that has a number of constants that are found in Assimp. These can be limits to configuration property default values. The constants
@ -8763,6 +9273,16 @@
Opacity (float)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.TRANSPARENCYFACTOR_BASE">
<summary>
Transparency Factor (float)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.TRANSPARENCYFACTOR">
<summary>
Transparency Factor (float)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.BUMPSCALING_BASE">
<summary>
Bumpscaling (float)
@ -8933,6 +9453,76 @@
Texture flags base name
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.GLOBAL_SHADERLANG_BASE">
<summary>
Shader language type (string)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.GLOBAL_SHADERLANG">
<summary>
Shader language type (string)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHADER_VERTEX_BASE">
<summary>
Vertex shader source code (string)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHADER_VERTEX">
<summary>
Vertex shader source code (string)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHADER_FRAGMENT_BASE">
<summary>
Fragment/Pixel shader source code (string)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHADER_FRAGMENT">
<summary>
Fragment/Pixel shader source code (string)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHADER_GEO_BASE">
<summary>
Geometry shader source code (string)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHADER_GEO">
<summary>
Geometry shader source code (string)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHADER_TESSELATION_BASE">
<summary>
Tesselation shader source code (string)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHADER_TESSELATION">
<summary>
Tesselation shader source code (string)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHADER_PRIMITIVE_BASE">
<summary>
Primitive/Domain shader source code (string)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHADER_PRIMITIVE">
<summary>
Primitive/Domain shader source code (string)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHADER_COMPUTE_BASE">
<summary>
Compute shader source code (string)
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMatKeys.SHADER_COMPUTE">
<summary>
Compute shader source code (string)
</summary>
</member>
<member name="M:Assimp.Unmanaged.AiMatKeys.GetFullTextureName(System.String,Assimp.TextureType,System.Int32)">
<summary>
Helper function to get the fully qualified name of a texture property type name. Takes
@ -9347,6 +9937,12 @@
</summary>
<returns>Assimp revision version number</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetBranchName">
<summary>
Returns the branchname of the Assimp runtime.
</summary>
<returns>The current branch name.</returns>
</member>
<member name="M:Assimp.Unmanaged.AssimpLibrary.GetVersion">
<summary>
Gets the native Assimp DLL's current version number as "major.minor.revision" string. This is the
@ -9702,6 +10298,15 @@
aiCamera**, cameras in the scene.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.Metadata">
<summary>
aiMetadata*, The global metadata assigned to the scene itself.
This data contains global metadata which belongs to the scene like
unit-conversions, versions, vendors or other model-specific data. This
can be used to store format-specific metadata as well.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiScene.PrivateData">
<summary>
void*, Private data do not touch!
@ -9884,6 +10489,11 @@
unsigned int, method of morphing when anim meshes are specified.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiMesh.AABB">
<summary>
Axis aligned bounding box.
</summary>
</member>
<member name="T:Assimp.Unmanaged.AiTexture">
<summary>
Represents an aiTexture struct.
@ -9910,6 +10520,11 @@
aiTexel*, array of texel data.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiTexture.Filename">
<summary>
Texture original filename.
</summary>
</member>
<member name="M:Assimp.Unmanaged.AiTexture.SetFormatHint(System.String)">
<summary>
Sets the format hint.
@ -10326,7 +10941,7 @@
</member>
<member name="F:Assimp.Unmanaged.AiString.Length">
<summary>
Byte length of the UTF-8 string.
Byte length of the UTF-8 string, NOT logical length.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiString.Data">
@ -10434,6 +11049,11 @@
Represents an aiAnimMesh struct. Note: This structure requires marshaling, due to the array of IntPtrs.
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimMesh.Name">
<summary>
Anim Mesh name
</summary>
</member>
<member name="F:Assimp.Unmanaged.AiAnimMesh.Vertices">
<summary>
aiVector3D*, replacement position array.

View File

@ -50,8 +50,8 @@
<ApplicationManifest>Properties\app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<Reference Include="AssimpNet, Version=4.1.0.0, Culture=neutral, PublicKeyToken=0d51b391f59f42a6, processorArchitecture=MSIL">
<HintPath>..\packages\AssimpNet.4.1.0\lib\net40\AssimpNet.dll</HintPath>
<Reference Include="AssimpNet, Version=5.0.0.0, Culture=neutral, PublicKeyToken=0d51b391f59f42a6, processorArchitecture=MSIL">
<HintPath>..\packages\AssimpNet.5.0.0-beta1\lib\net40\AssimpNet.dll</HintPath>
</Reference>
<Reference Include="DirectXTexNet, Version=1.0.0.3, Culture=neutral, PublicKeyToken=67e4f5ed452a4f5d, processorArchitecture=MSIL">
<HintPath>..\packages\DirectXTexNet.1.0.0-rc3\lib\net40\DirectXTexNet.dll</HintPath>
@ -606,13 +606,13 @@
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\packages\AssimpNet.4.1.0\build\AssimpNet.targets" Condition="Exists('..\packages\AssimpNet.4.1.0\build\AssimpNet.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\AssimpNet.4.1.0\build\AssimpNet.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\AssimpNet.4.1.0\build\AssimpNet.targets'))" />
<Error Condition="!Exists('..\packages\DirectXTexNet.1.0.0-rc3\build\DirectXTexNet.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\DirectXTexNet.1.0.0-rc3\build\DirectXTexNet.targets'))" />
<Error Condition="!Exists('..\packages\AssimpNet.5.0.0-beta1\build\AssimpNet.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\AssimpNet.5.0.0-beta1\build\AssimpNet.targets'))" />
</Target>
<Import Project="..\packages\DirectXTexNet.1.0.0-rc3\build\DirectXTexNet.targets" Condition="Exists('..\packages\DirectXTexNet.1.0.0-rc3\build\DirectXTexNet.targets')" />
<Import Project="..\packages\AssimpNet.5.0.0-beta1\build\AssimpNet.targets" Condition="Exists('..\packages\AssimpNet.5.0.0-beta1\build\AssimpNet.targets')" />
</Project>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AssimpNet" version="4.1.0" targetFramework="net462" />
<package id="AssimpNet" version="5.0.0-beta1" targetFramework="net462" />
<package id="DirectXTexNet" version="1.0.0-rc3" targetFramework="net462" />
</packages>

Binary file not shown.

View File

@ -0,0 +1,209 @@
----------------------------------------------------------------------
CHANGELOG
----------------------------------------------------------------------
4.1.0 (10-28-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 (12-26-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 (07-3-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 (03-14-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 (7-27-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 (4-4-2012)
- Added RemoveConfigs() method to AssimpImporter
- Fixed an occassional crash when mashalling string material properties
Targets Assimp 2.0.854
======================================================================
2.1 (1-28-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 (1-22-2012)
- Initial release, core API is finished.
Targets Assimp 2.0.854

View File

@ -0,0 +1,70 @@
Copyright (c) 2012-2020 AssimpNet - Nicholas Woodfield
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
====================================================================================
Open Asset Import Library (Assimp)
Copyright (c) 2006-2018, Assimp Development Team
All rights reserved.
Redistribution and use of this software in source and binary forms,
with or without modification, are permitted provided that the
following conditions are met:
* Redistributions of source code must retain the above
copyright notice, this list of conditions and the
following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other
materials provided with the distribution.
* Neither the name of the ASSIMP team, nor the names of its
contributors may be used to endorse or promote products
derived from this software without specific prior
written permission of the ASSIMP Development Team.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AN EXCEPTION applies to all files in the ./test/models-nonbsd subfolder.
These are 3d models for testing purposes, from various free sources
on the internet. They are - unless otherwise stated - copyright of
their respective creators, which may impose additional requirements
on the use of their work. For any of these models, see
<model-name>.source.txt for more legal information. Contact us if you
are a copyright holder and believe that we credited you inproperly or
if you don't want your files to appear in the repository.

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Copy/clean native dependencies only for projects that don't output a *.deps.json file (netframework projects). Netcore projects will
copy out the native dependencies during publish, and during development debugging/running, the binaries will be loaded from the nuget cache.
Optionally, the property $(ForceCopyNativeAssimp) can be set to true to always run these targets. -->
<Target Name="CopyNativeAssimp" AfterTargets="AfterBuild" Condition="'$(ForceCopyNativeAssimp)' == 'true' OR !Exists('$(TargetDir)$(AssemblyName).deps.json')">
<ItemGroup>
<NativeAssimpLibs Include="$(MSBuildThisFileDirectory)..\runtimes\**\*.*"/>
</ItemGroup>
<Message Text="Copying native Assimp libraries..." Importance="high" />
<Message Text="$(TargetDir)$(AssemblyName).deps.json" Importance="high" />
<Copy SourceFiles="@(NativeAssimpLibs)" DestinationFolder="$(OutputPath)\runtimes\%(RecursiveDir)" />
</Target>
<Target Name="CleanNativeAssimp" BeforeTargets="BeforeClean" Condition="'$(ForceCopyNativeAssimp)' == 'true' OR !Exists('$(TargetDir)$(AssemblyName).deps.json')">
<Message Text="Cleaning native Assimp libraries..." Importance="high" />
<ItemGroup>
<NativeAssimpLibsToDelete Include="$(TargetDir)runtimes\**\*assimp*.*;" />
</ItemGroup>
<Delete Files="@(NativeAssimpLibsToDelete)" />
</Target>
</Project>

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB