Public API Changements dans Aspose.3D 2.1.0
Résumé du contenu
- Ajoute l’exportation des fichiers Collada
- Ajoute des options de chargement et de sauvegarde pour les formats de fichier 3D -Ajoute Aspose.ThreeD.Formats.ColladaSaveOptions classe -Ajoute Aspose.ThreeD.Formats.Discreet3DSLoadOptions Classe -Ajoute la classe Aspose.ThreeD.Formats. Discreet3DSsaveOptions -Ajoute Aspose.ThreeD.Formats.FBXSaveOptions Class -Ajoute la classe Aspose.ThreeD.Formats.ObjLoadOptions -Ajoute la classe Aspose.ThreeD.Formats.ObjSaveOptions -Ajoute Aspose.ThreeD.Formats.STLLoadOptions Classe -Ajoute Aspose.ThreeD.Formats.STLSaveOptions Class -Ajoute la classe Aspose.ThreeD.Formats.U3DLoadOptions -Ajoute Aspose.ThreeD.Formats. U3DSAeOptions Class
- Ajoute des méthodes à Aspose.ThreeD.Scene Class
- Suppression de la propriété FillDummyIndexArray de la classe Aspose.ThreeD.Formats.FBXConfig
- Détecter le type d’un fichier 3D -Ajoute les méthodes Detect, CreateLoadOptions et CreateSaveOptions dans la classe Aspose.ThreeD.FileFormat
- Ajoute la propriété exclue aux classes Aspose.ThreeD.Entity et Aspose.ThreeD.Node
- Ajoute Aspose.ThreeD.Render.RenderState Class et Aspose.ThreeD.Render.BlendFactor/CompareFunction/CullFaceMode/FrontFace/PolygonMode/StencilAction/StencilState Enums
- Ajoute des API Shader -Ajoute une classe abstraite Aspose.ThreeD.Render.ShaderSource et une sous-classe Aspose.ThreeD.Render. GSLSource -Ajoute Aspose.ThreeD.Render.ShaderException Class -Ajoute la classe Aspose.ThreeD.Render.ShaderProgram -Ajouter Aspose.ThreeD.Render.ShaderVariable Class -Ajoute une classe Enum Aspose.ThreeD.Render.VariableSemantic
- Ajoute des API tampons -Ajoute une interface Aspose.ThreeD.Render.IBuffer -Ajoute des interfaces Aspose.ThreeD.Render.IIndexBuffer/IVertexBuffer -Ajoute un Enum Aspose.ThreeD.Render.IndexDataType
- Ajoute des API de Render -Ajoute une interface Aspose.ThreeD.Render.IRenderable -Ajout d’un Enum Aspose.ThreeD.Render.DrawOperation -Ajoute un Enum Aspose.ThreeD.Render.RenderQueueGroupId -Ajoute Aspose.ThreeD.Render.RenderResource Class -Ajoute la classe Aspose.ThreeD.Render.RenderableResource -Ajoute la classe Aspose.ThreeD.Entities.ManualEntity
- Ajoute plusieurs méthodes de triangulation dans la classe Aspose.ThreeD.Entities.PolygonModifier
- Ajoute les méthodes CreateVertexBuffer, CreateIndexBuffer, CreateTextureUnit, CreateRenderState et CreateShaderProgram dans la classe Aspose.ThreeD.Render.RenderFactory
- Ajoute les méthodes BindRenderState, DrawIndexed, Draw et SubmitRenderTask dans la classe Aspose.ThreeD.Render.Renderer
- Ajoute les propriétés RenderStage et Shader dans la classe Aspose.ThreeD.Render.Renderer
Ajoute l’exportation des fichiers Collada
En utilisant cette version récente (2.1.0), les développeurs peuvent exporter des fichiers Collada 3D. Dans la version précédente (2.0.0), nous avons déjà ajouté sa fonctionnalité d’importation, car les développeurs peuvent également convertir un fichier Collada vers d’autres formats de fichier 3D pris en charge.
Ajoute des options de chargement et de sauvegarde pour les formats de fichier 3D
Nous avons ajouté des options de charge et de sauvegarde pour chaque format de fichier. Ils sont refactorisés à partir des sous-classes IOConfig originales.
Ajoute Aspose.ThreeD.Formats.ColladaSaveOptions classe
Il définit les paramètres de sauvegarde d’un fichier Collada 3D.
C#
ColladaSaveOptions opts = new ColladaSaveOptions();
// generates indented XML document
opts.Indented = true;
// the style of node transformation
opts.TransformStyle = ColladaTransformStyle.Matrix;
// configure the look up paths to allow importer to find external dependencies.
opts.LookupPaths = new List<string>(new string[] { @"c:\temp\" });
Ajoute Aspose.ThreeD.Formats.Discreet3DSLoadOptions Classe
Il définit les paramètres de chargement d’un fichier 3DS discret.
C#
Discreet3DSLoadOptions loadOpts = new Discreet3DSLoadOptions();
// sets weather to use the transformation defined in the first frame of animation track.
loadOpts.ApplyAnimationTransform = true;
// flip the coordinate system
loadOpts.FlipCoordinateSystem = true;
// prefer to use gamma-corrected color if a 3ds file provides both original color and gamma-corrected color.
loadOpts.GammaCorrectedColor = true;
// configure the look up paths to allow importer to find external dependencies.
loadOpts.LookupPaths = new List<string>(new string[] { @"c:\temp\" });
Ajoute la classe Aspose.ThreeD.Formats. Discreet3DSsaveOptions
Il définit les paramètres de sauvegarde d’un fichier discret 3DS.
C#
// initialize an object
Discreet3DSSaveOptions saveOpts = new Discreet3DSSaveOptions();
// the start base for generating new name for duplicated names.
saveOpts.DuplicatedNameCounterBase = 2;
// the format of the duplicated counter.
saveOpts.DuplicatedNameCounterFormat = "NameFormat";
// the separator between object's name and the duplicated counter.
saveOpts.DuplicatedNameSeparator = "Separator";
// allows to export cameras
saveOpts.ExportCamera = true;
// allows to export light
saveOpts.ExportLight = true;
// flip the coordinate system
saveOpts.FlipCoordinateSystem = true;
// prefer to use gamma-corrected color if a 3ds file provides both original color and gamma-corrected color.
saveOpts.GammaCorrectedColor = true;
// use high-precise color which each color channel will use 32bit float.
saveOpts.HighPreciseColor = true;
// configure the look up paths to allow importer to find external dependencies.
saveOpts.LookupPaths = new List<string>(new string[] { @"c:\temp\" });
// set the master scale
saveOpts.MasterScale = 1;
Ajoute Aspose.ThreeD.Formats.FBXSaveOptions Class
Il définit les paramètres sur l’enregistrement d’un fichier FBX.
C#
// initialize an object
FBXSaveOptions saveOpts = new FBXSaveOptions(FileFormat.FBX7500ASCII);
// generates the legacy material properties.
saveOpts.ExportLegacyMaterialProperties = true;
// fold repeated curve data using FBX's animation reference count
saveOpts.FoldRepeatedCurveData = true;
// always generates material mapping information for geometries if the attached node contains materials.
saveOpts.GenerateVertexElementMaterial = true;
// configure the look up paths to allow importer to find external dependencies.
saveOpts.LookupPaths = new List< string > (new string[] { @"c:\temp\" });
// generates a video object for texture.
saveOpts.VideoForTexture = true;
Ajoute la classe Aspose.ThreeD.Formats.ObjLoadOptions
Il définit les paramètres sur le chargement d’un fichier Obj.
C#
// initialize an object
ObjLoadOptions loadObjOpts = new ObjLoadOptions();
// import materials from external material library file
loadObjOpts.EnableMaterials = true;
// flip the coordinate system.
loadObjOpts.FlipCoordinateSystem = true;
// configure the look up paths to allow importer to find external dependencies.
loadObjOpts.LookupPaths = new List<string>(new string[] { @"c:\temp\" });
Ajoute la classe Aspose.ThreeD.Formats.ObjSaveOptions
Il définit les paramètres sur la sauvegarde d’un fichier Obj.
C#
// initialize an object
ObjSaveOptions saveObjOpts = new ObjSaveOptions();
// import materials from external material library file
saveObjOpts.EnableMaterials = true;
// flip the coordinate system.
saveObjOpts.FlipCoordinateSystem = true;
// configure the look up paths to allow importer to find external dependencies.
saveObjOpts.LookupPaths = new List<string>(new string[] { @"c:\temp\" });
// serialize W component in model's vertex position
saveObjOpts.SerializeW = true;
// generate comments for each section
saveObjOpts.Verbose = true;
Ajoute Aspose.ThreeD.Formats.STLLoadOptions Classe
Il définit les paramètres de chargement d’un fichier STL.
C#
// initialize an object
STLLoadOptions loadSTLOpts = new STLLoadOptions();
// flip the coordinate system.
loadSTLOpts.FlipCoordinateSystem = true;
// configure the look up paths to allow importer to find external dependencies.
loadSTLOpts.LookupPaths = new List<string>(new string[] { @"c:\temp\" });
Ajoute Aspose.ThreeD.Formats.STLSaveOptions Class
Il définit les paramètres sur l’enregistrement d’un fichier STL.
C#
// initialize an object
STLSaveOptions saveSTLOpts = new STLSaveOptions();
// flip the coordinate system.
saveSTLOpts.FlipCoordinateSystem = true;
// configure the look up paths to allow importer to find external dependencies.
saveSTLOpts.LookupPaths = new List<string>(new string[] { @"c:\temp\" });
Ajoute la classe Aspose.ThreeD.Formats.U3DLoadOptions
Il définit les paramètres de chargement d’un fichier U3D.
C#
// initialize an object
U3DLoadOptions loadU3DOpts = new U3DLoadOptions();
// flip the coordinate system.
loadU3DOpts.FlipCoordinateSystem = true;
// configure the look up paths to allow importer to find external dependencies.
loadU3DOpts.LookupPaths = new List<string>(new string[] { @"c:\temp\" });
Ajoute Aspose.ThreeD.Formats. U3DSAeOptions Class
Il définit les paramètres de sauvegarde d’un fichier U3D.
C#
// initialize an object
U3DSaveOptions saveU3DOptions = new U3DSaveOptions();
// export normal data.
saveU3DOptions.ExportNormals = true;
// export the texture coordinates.
saveU3DOptions.ExportTextureCoordinates = true;
// export the vertex diffuse color.
saveU3DOptions.ExportVertexDiffuse = true;
// export vertex specular color
saveU3DOptions.ExportVertexSpecular = true;
// flip the coordinate system.
saveU3DOptions.FlipCoordinateSystem = true;
// configure the look up paths to allow importer to find external dependencies.
saveU3DOptions.LookupPaths = new List<string>(new string[] { @"c:\temp\" });
// compress the mesh data
saveU3DOptions.MeshCompression = true;
Ajoute des méthodes à Aspose.ThreeD.Scene Class
Nous avons surchargé les méthodes Open et Save dans la classe Scene. Les développeurs peuvent transmettre un objet de flux ou un nom de fichier direct pour importer/exporter un fichier 3D en utilisant les différentes options de chargement/sauvegarde.
C#
public void Open(System.IO.Stream stream, Aspose.ThreeD.Formats.LoadOptions options);
public void Open(string fileName, Aspose.ThreeD.Formats.LoadOptions options);
public void Save(System.IO.Stream stream, Aspose.ThreeD.Formats.SaveOptions options);
public void Save(string fileName, Aspose.ThreeD.Formats.SaveOptions options);
Suppression de la propriété FillDummyIndexArray de la classe Aspose.ThreeD.Formats.FBXConfig
Cette propriété n’était pas utilisée.
C#
System.Nullable<Boolean> FillDummyIndexArray{ get;set;}
Détecter le type d’un fichier 3D
La méthode Detect de la classe Aspose.ThreeD.FileFormat peut reconnaître le type de tout fichier 3D pris en charge.
C#
FileFormat inputFormat = FileFormat.Detect(@"C:\ThreeD\test06\colors.fbx");
Console.WriteLine("File Format: " + inputFormat.ToString());
Ajoute les méthodes Detect, CreateLoadOptions et CreateSaveOptions dans la classe Aspose.ThreeD.FileFormat
Après la reconnaissance d’un type de fichier 3D, les développeurs peuvent créer des objets LoadOptions et SaveOptions pour les tâches de manipulation ultérieures.
C#
// allows to detect file format from file stream or filename
static Aspose.ThreeD.FileFormat Detect(System.IO.Stream stream, string fileName)
// allows to detect file format from filename
static Aspose.ThreeD.FileFormat Detect(string fileName)
// create default load options for this file format
Aspose.ThreeD.Formats.LoadOptions CreateLoadOptions()
// create default save options for this file format
Aspose.ThreeD.Formats.SaveOptions CreateSaveOptions()
Ajoute la propriété exclue aux classes Aspose.ThreeD.Entity et Aspose.ThreeD.Node
Il permet de supprimer une entité lors de l’exportation.
C#
bool Excluded{ get;set;}
Ajoute Aspose.ThreeD.Render.RenderState Class et Aspose.ThreeD.Render.BlendFactor/CompareFunction/CullFaceMode/FrontFace/PolygonMode/StencilAction/StencilState Enums
Les états de rendu fournissent des paramètres au GPU pour rastériser les triangles en pixels.
Ajoute des API Shader
Les API Shader définissent comment transformer les triangles de l’espace mondial en espace d’écran et calculer la couleur finale du pixel du côté GPU.
Ajoute une classe abstraite Aspose.ThreeD.Render.ShaderSource et une sous-classe Aspose.ThreeD.Render. GSLSource
Le GLSLSource indique au moteur de rendu, le code source est pour le langage d’ombrage OpenGL, il peut être compilé en Aspose.ThreeD.Render.ShaderProgram.
Ajoute Aspose.ThreeD.Render.ShaderException Class
Les exceptions liées à Shader, principalement utilisées dans l’étape de compilation et de liaison du langage shader.
Ajoute la classe Aspose.ThreeD.Render.ShaderProgram
C’est le programme de shader compilé.
Ajouter Aspose.ThreeD.Render.ShaderVariable Class
Il définit les variables utilisées dans shader.
Ajoute une classe Enum Aspose.ThreeD.Render.VariableSemantic
Il est utilisé pour identifier la sémantique de la variable shader, Aspose. Le rendu 3D préparera automatiquement les valeurs des variables de shader en fonction de la sémantique.
Ajoute des API tampons
Les tampons fournissent la définition et les données des triangles.
Ajoute une interface Aspose.ThreeD.Render.IBuffer
C’est l’interface de base pour IIndexBuffer et IVertexBuffer.
Ajoute des interfaces Aspose.ThreeD.Render.IIndexBuffer/IVertexBuffer
Ils présentent des tampons matériels pour stocker les indices de géométrie.
Ajoute un Enum Aspose.ThreeD.Render.IndexDataType
Le type de données des indices de géométrie.
Ajoute des API de Render
Ajoute une interface Aspose.ThreeD.Render.IRenderable
Un objet qui prend en charge le rendu doit implémenter cette interface.
Ajout d’un Enum Aspose.ThreeD.Render.DrawOperation
Le type primitif à dessiner.
Ajoute un Enum Aspose.ThreeD.Render.RenderQueueGroupId
Aspose.3D API utilise la file d’attente de rendu pour gérer le flux de travail de rendu, ceci est utilisé pour soumettre l’opération de rendu à la file d’attente de rendu spécifiée.
Ajoute Aspose.ThreeD.Render.RenderResource Class
Base class for bridging the Aspose.3D’s model API to hardware resources, this is used by Aspose.3D internally, but exposed to unleash the full power of Aspose.3D rendering.
Ajoute la classe Aspose.ThreeD.Render.RenderableResource
Une sous-classe de RenderResource, mais concentrez-vous sur le rendu.
Ajoute la classe Aspose.ThreeD.Entities.ManualEntity
L’utilisateur doit utiliser cette classe pour implémenter sa propre entité qui prend en charge le rendu, cette classe encapsule les détails des opérations de rendu et de la gestion des ressources.
Ajoute plusieurs méthodes de triangulation dans la classe Aspose.ThreeD.Entities.PolygonModifier
Plus de surcharges pour simplifier l’utilisation de la fonction d’origine.
C#
public static int[][] Triangulate(IList<[Aspose.ThreeD.Utilities.Vector4> controlPoints, IList<int[]> polygons);
public static int[][] Triangulate(IList<[Aspose.ThreeD.Utilities.Vector4> controlPoints, Int32[] polygon);
public static int[][] Triangulate(IList<Aspose.ThreeD.Utilities.Vector4> controlPoints);
Ajoute les méthodes CreateVertexBuffer, CreateIndexBuffer, CreateTextureUnit, CreateRenderState et CreateShaderProgram dans la classe Aspose.ThreeD.Render.RenderFactory
C#
public Aspose.ThreeD.Render.IVertexBuffer CreateVertexBuffer(Aspose.ThreeD.Utilities.VertexDeclaration declaration)
public Aspose.ThreeD.Render.IIndexBuffer CreateIndexBuffer()
public Aspose.ThreeD.Render.ITextureUnit CreateTextureUnit()
public Aspose.ThreeD.Render.RenderState CreateRenderState()
public Aspose.ThreeD.Render.ShaderProgram CreateShaderProgram(Aspose.ThreeD.Render.ShaderSource shaderSource, IList<Aspose.ThreeD.Utilities.VertexField> inputFields)
public Aspose.ThreeD.Render.ShaderProgram CreateShaderProgram(Aspose.ThreeD.Render.ShaderSource shaderSource, Aspose.ThreeD.Utilities.VertexDeclaration vertexDeclaration)
Ajoute les méthodes BindRenderState, DrawIndexed, Draw et SubmitRenderTask dans la classe Aspose.ThreeD.Render.Renderer
C#
public void BindRenderState(Aspose.ThreeD.Render.RenderState renderState)
public void DrawIndexed(Aspose.ThreeD.Render.DrawOperation drawOperation, Aspose.ThreeD.Render.IVertexBuffer vertexBuffer, Aspose.ThreeD.Render.IIndexBuffer indexBuffer, Int32 count)
public void Draw(Aspose.ThreeD.Render.DrawOperation drawOperation, Aspose.ThreeD.Render.IVertexBuffer vertexBuffer, Int32 first, Int32 count)
public void Draw(Aspose.ThreeD.Render.DrawOperation drawOperation, Aspose.ThreeD.Render.IVertexBuffer vertexBuffer)
public void DrawIndexed(Aspose.ThreeD.Render.DrawOperation drawOperation, Aspose.ThreeD.Render.IVertexBuffer vertexBuffer, Aspose.ThreeD.Render.IIndexBuffer indexBuffer)
public void SubmitRenderTask(Aspose.ThreeD.Render.RenderQueueGroupId groupId, Int32 priority, Aspose.ThreeD.Render.IRenderable renderableTask)
Ajoute les propriétés RenderStage et Shader dans la classe Aspose.ThreeD.Render.Renderer
C#
public RenderStage RenderStage { get; }
public Aspose.ThreeD.Render.ShaderProgram Shader{ get;set;}