Variazioni pubbliche di API in Aspose.3D 2.1.0

Contents
[ ]

Contenuto sommario

Aggiunge l’esportazione di file Collada

Utilizzando questa versione recente (2.1.0), gli sviluppatori possono esportare file Collada 3D. Nella versione precedente (2.0.0), abbiamo già aggiunto la sua funzione di importazione, poiché gli sviluppatori possono anche convertire un file Collada in altri formati di file 3D supportati.

Aggiunge opzioni di caricamento e salvataggio per i formati di file 3D

Abbiamo aggiunto opzioni di carico e salvataggio per ogni formato di file. Sono rifattorizzati dalle sottoclassi IOConfig originali.

Aggiunge Aspose.ThreeD.Formats.ColladaSaveOptions class

Definisce le impostazioni sul salvataggio di un file 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\" });

Aggiunge Aspose.ThreeD.Formats.Discreet3DSLoadOptions Class

Definisce le impostazioni sul caricamento di un discreto file 3DS.

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\" });

Aggiunge Aspose.ThreeD.Formats.Discreet3DSSaveOptions Class

Definisce le impostazioni sul salvataggio di un discreto file 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;

Aggiunge Aspose.ThreeD.Formats.FBXSaveOptions Class

Definisce le impostazioni sul salvataggio di un file 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;

Aggiunge Aspose.ThreeD.Formats.ObjLoadOptions Class

Definisce le impostazioni sul caricamento di un file 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\" });

Aggiunge Aspose. Formati ThreeD. Classe ObjSaveOptions

Definisce le impostazioni sul salvataggio di un file 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;

Aggiunge Aspose.ThreeD.Formats.STLLoadOptions Class

Definisce le impostazioni sul caricamento di un file 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\" });

Aggiunge Aspose.ThreeD.Formats.STLSaveOptions Class

Definisce le impostazioni sul salvataggio di un file 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\" });

Aggiunge Aspose.ThreeD.Formats.U3DLoadOptions Class

Definisce le impostazioni sul caricamento di un file 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\" });

Aggiunge Aspose.ThreeD.Formats.U3DSaveOptions Class

Definisce le impostazioni sul salvataggio di un file 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;

Aggiunge metodi a Aspose.ThreeD.Scene Class

Abbiamo sovraccaricato i metodi Open and Save nella classe Scene. Gli sviluppatori possono passare un oggetto stream o un nome file diretto per importare/esportare un file 3D utilizzando le varie opzioni di caricamento/salvataggio.

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);

Rimozione della proprietà FillDummyIndexArray da Aspose.ThreeD.Formats.FBXConfig Class

Questa proprietà non veniva utilizzata.

C#

 System.Nullable<Boolean> FillDummyIndexArray{ get;set;}

Rileva il tipo di file 3D

Il metodo Rileva della classe Aspose.ThreeD.FileFormat può riconoscere il tipo di qualsiasi file 3D supportato.

C#

 FileFormat inputFormat = FileFormat.Detect(@"C:\ThreeD\test06\colors.fbx");

Console.WriteLine("File Format: " + inputFormat.ToString());

Aggiunge Rileva, CreateLoadOptions e CreateSaveOptions Metodi nella classe Aspose.ThreeD.FileFormat

Dopo il riconoscimento di un tipo di file 3D, gli sviluppatori possono creare oggetti LoadOptions e SaveOptions per ulteriori attività di manipolazione.

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()

Aggiunge la proprietà esclusa a Aspose.ThreeD. Entità e Aspose. Classi dei nodi ThreeD.

Consente di rimuovere un’entità durante l’esportazione.

C#

 bool Excluded{ get;set;}

Aggiunge Aspose.ThreeD.Render.RenderState Class e Aspose.ThreeD.Render.BlendFactor/CompareFunction/CullFaceMode/FrontFace/PolygonMode/StencilAction/StencilState Enums

Gli stati di rendering forniscono parametri per la GPU per rasterizzare i triangoli in pixel.

Aggiunge API Shader

Le API Shader definiscono come trasformare i triangoli dallo spazio del mondo nello spazio dello schermo e calcolare il colore finale del pixel sul lato GPU.

Aggiunge una classe astratta Aspose.ThreeD.Render.ShaderSource e sottoclasse Aspose.ThreeD.Render.GLSLSource

GLSLSource dice al renderer, il codice sorgente è per il linguaggio di ombreggiatura OpenGL, può essere compilato in Aspose.ThreeD.Render.ShaderProgram.

Aggiunge Aspose.ThreeD.Render.ShaderException Class

Le eccezioni relative allo shader, utilizzate principalmente nella fase di compilazione e collegamento in lingua shader.

Aggiunge Aspose.ThreeD.Render.ShaderProgram Class

È il programma shader compilato.

Aggiungi Aspose.ThreeD.Render.ShaderVariable Class

Definisce le variabili utilizzate in shader.

Aggiunge una classe Enum Aspose.ThreeD.Render.VariableSemantic

Viene utilizzato per identificare la semantica della variabile shader, Aspose.3D renderer preparerà automaticamente i valori delle variabili shader a seconda della semantica.

Aggiunge API buffer

I buffer forniscono definizione e dati dei triangoli.

Aggiunge un’interfaccia Aspose.ThreeD.Render.IBuffer

È l’interfaccia di base per IIndexBuffer e IVertexBuffer.

Aggiunge interfacce Aspose.ThreeD.Render.IIndexBuffer/IVertexBuffer

Presentano buffer hardware per la memorizzazione degli indici di geometria.

Aggiunge un Enum Aspose.ThreeD.Render.IndexDataType

Il tipo di dati degli indici di geometria.

Aggiunge le API di Render

Aggiunge un’interfaccia Aspose.ThreeD.Render.IRenderable

Un oggetto che supporta il rendering dovrebbe implementare questa interfaccia.

Aggiunto un Enum Aspose.ThreeD.Render.DrawOperation

Il tipo primitivo da disegnare.

Aggiunge un Enum Aspose.ThreeD.Render.RenderQueueGroupId

Aspose.3D API utilizza la coda di rendering per gestire il flusso di lavoro di rendering, questo viene utilizzato per inviare l’operazione di rendering alla coda di rendering specificata.

Aggiunge 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.

Aggiunge Aspose.ThreeD.Render.RenderableResource Class

Una sottoclasse di RenderResource, ma concentrati sul rendering.

Aggiunge Aspose. Entità ThreeD.. ManualEntity Class

L’utente deve utilizzare questa classe per implementare la propria entità che supporta il rendering, questa classe incapsula i dettagli delle operazioni di rendering e della gestione delle risorse.

Aggiunge più metodi triangolati nella classe Aspose.ThreeD.Entities.PolygonModifier

Più sovraccarichi per semplificare l’utilizzo della funzione originale.

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);

Aggiunge i metodi CreateVertexBuffer, CreateIndexBuffer, CreateTextureUnit, CreateRenderState e CreateShaderProgram nella 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)

Aggiunge i metodi BindRenderState, DrawIndexed, Draw e SubmitRenderTask nella 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)

Aggiunge le proprietà RenderStage e Shader nella classe Aspose.ThreeD.Render.Renderer

C#

 public RenderStage RenderStage { get; }

public Aspose.ThreeD.Render.ShaderProgram Shader{ get;set;}