Публичные изменения API в Aspose.3D 2.1.0
Содержание Резюме
- Добавление экспорта файлов Collada
- Добавляет параметры загрузки и сохранения для форматов файлов 3D
- Adds Aspose.ThreeD.Formats.ColladaSaveOptions class
- Adds Aspose.ThreeD.Formats.Discreet3DSLoadOptions Class
- Adds Aspose.ThreeD.Formats.Discreet3DSSaveOptions Class
- Adds Aspose.ThreeD.Formats.FBXSaveOptions Class
- Adds Aspose.ThreeD.Formats.ObjLoadOptions Class
- Adds Aspose.ThreeD.Formats.ObjSaveOptions Class
- Adds Aspose.ThreeD.Formats.STLLoadOptions Class
- Adds Aspose.ThreeD.Formats.STLSaveOptions Class
- Adds Aspose.ThreeD.Formats.U3DLoadOptions Class
- Adds Aspose.ThreeD.Formats.U3DSaveOptions Class
- Добавляет методы в класс Aspose.ThreeD.Scene
- Удаление свойства FillDummyIndexArray из Aspose.ThreeD. Форматы. Класс FBXConfig
- Определение типа файла 3D
- Добавляет исключенное свойство в классы Aspose.ThreeD.Entity и Aspose.ThreeD.Node
- Добавляет Aspose.ThreeD. Рендер. Класс RenderState и Aspose.ThreeD. Рендер. BlendFactor/СравнениеФункция/CullFaceMode/FrontFace/PolygonMode/StencilAction Enums
- Добавляет Shader API
- Добавляет API буфера
- Добавляет API-интерфейс Render
- Добавляет несколько триангуляционных методов в класс Aspose.ThreeD. Enties. PolygonModifier
- Добавляет методы CreateVertexBuffer, CreateIndexBuffer, CreateTextureUnit, CreateRenderState и CreateShaderProgram в класс Aspose.ThreeD.Render.RenderFactory
- Добавление методов BindRenderState, DrawIndexed, Draw и SubmitRenderTask в класс Aspose.ThreeD.Render.Renderer
- Добавление свойств RenderStage и Shader в класс Aspose.ThreeD.Render.Renderer
Добавление экспорта файлов Collada
Используя эту последнюю версию (2.1.0), разработчики могут экспортировать файлы Collada 3D. В предыдущей версии (2.0.0) мы уже добавили его функцию импорта, поскольку разработчики также могут конвертировать файл Collada в другие поддерживаемые форматы файлов 3D.
Добавляет параметры загрузки и сохранения для форматов файлов 3D
Мы добавили параметры загрузки и сохранения для каждого формата файла. Они взяты из исходных подклассов IOConfig.
Добавляет Aspose.ThreeD. Форматы. Класс ColladaSaveOptions
Он определяет параметры сохранения файла 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\" });
Добавляет Aspose.ThreeD. Форматы. Discreet3DSLoadOptions Класс
Он определяет настройки при загрузке дискретного файла 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\" });
Добавляет Aspose.ThreeD. Форматы. Discreet3DSSaveOptions Класс
Он определяет параметры сохранения дискретного файла 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;
Добавляет Aspose.ThreeD. Форматы. Класс FBXSaveOptions
Он определяет параметры сохранения файла 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;
Добавляет Aspose.ThreeD. Форматы. Класс ObjLoadOptions
Он определяет настройки при загрузке файла 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\" });
Добавляет Aspose.ThreeD. Форматы. Класс ObjSaveOptions
Он определяет настройки при сохранении файла 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;
Добавляет Aspose.ThreeD. Форматы. STLLoadOptions Класс
Он определяет настройки при загрузке файла 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\" });
Добавляет Aspose.ThreeD. Форматы. Класс STLSaveOptions
Он определяет параметры сохранения файла 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\" });
Добавляет Aspose.ThreeD. Форматы. Класс U3DLoadOptions
Он определяет настройки при загрузке файла 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\" });
Добавляет Aspose.ThreeD. Форматы. Класс U3DSaveOptions
Он определяет настройки при сохранении файла 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;
Добавляет методы в класс Aspose.ThreeD.Scene
Мы перегружали методы Open и Save в классе Scene. Разработчики могут передавать потоковый объект или прямое имя файла для импорта/экспорта файла 3D, используя различные параметры загрузки/сохранения.
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);
Удаление свойства FillDummyIndexArray из Aspose.ThreeD. Форматы. Класс FBXConfig
Это свойство не использовалось.
C#
System.Nullable<Boolean> FillDummyIndexArray{ get;set;}
Определение типа файла 3D
Метод Detect класса Aspose.ThreeD.FileFormat может распознавать тип любого поддерживаемого файла 3D.
C#
FileFormat inputFormat = FileFormat.Detect(@"C:\ThreeD\test06\colors.fbx");
Console.WriteLine("File Format: " + inputFormat.ToString());
Добавление методов обнаружения, создания LoadOptions и создания SaveOptions в класс Aspose.ThreeD.FileFormat
После распознавания типа файла 3D разработчики могут создавать объекты LoadOptions и SaveOptions для дальнейших задач манипулирования.
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()
Добавляет исключенное свойство в классы Aspose.ThreeD.Entity и Aspose.ThreeD.Node
Это позволяет удалить объект во время экспорта.
C#
bool Excluded{ get;set;}
Добавляет Aspose.ThreeD. Рендер. Класс RenderState и Aspose.ThreeD. Рендер. BlendFactor/СравнениеФункция/CullFaceMode/FrontFace/PolygonMode/StencilAction Enums
Состояния рендеринга предоставляют параметры для графического процессора для растеризации треугольников в пиксели.
Добавляет Shader API
API Shader определяют, как преобразовать треугольники из мирового пространства в экранное пространство и вычислить окончательный цвет пикселя на стороне GPU.
Добавляет абстрактный класс Aspose.ThreeD.Render.ShaderSource и подкласс Aspose.ThreeD.Render.GLSLSource
GLSLSource сообщает рендереру, что исходный код предназначен для языка затенения OpenGL, он может быть скомпилирован в Aspose.ThreeD.Render.ShaderProgram.
Добавляет Aspose.ThreeD. Рендер. Класс ShaderException
Исключения, связанные с Шейдером, в основном используются на этапе компиляции и связывания языка шейдеров.
Добавляет класс Aspose.ThreeD.Render.ShaderProgram
Это составленная программа шейдеров.
Добавить класс Aspose.ThreeD.Render.ShaderVariable
Он определяет переменные, используемые в шейдере.
Добавляет класс Enum Aspose.ThreeD.Render. VariableСемантический
Он используется для определения семантики переменной шейдера, Aspose.3D рендерер автоматически подготовит значения переменной шейдера в зависимости от семантики.
Добавляет API буфера
Буферы предоставляют определение и данные треугольников.
Добавление интерфейса Aspose.ThreeD.Render.IBuffer
Это базовый интерфейс для IIndexBuffer и IVertexBuffer.
Добавление интерфейсов Aspose.ThreeD.Render. IndexBuffer/IVertexBuffer
Они представляют аппаратные буферы для хранения индексов геометрии.
Добавляет Enum Aspose.ThreeD. Рендер. Тип IndexDataType
Тип данных геометрических индексов.
Добавляет API-интерфейс Render
Добавляет интерфейс Aspose.ThreeD.Render.IRenderable
Объект, который поддерживает рендеринг, должен реализовать этот интерфейс.
Добавлен Enum Aspose.ThreeD.Render.DrawOperation
Примитивный тип рисовать.
Добавляет Enum Aspose.ThreeD. Рендеринг. РендерQueueGroupId
Aspose.3D API использует очередь рендеринга для управления процессом рендеринга, которая используется для отправки операции рендеринга в указанную очередь рендеринга.
Добавляет класс Aspose.ThreeD.Render.RenderResource
Базовый класс для соединения Aspose.3D модели API с аппаратными ресурсами, используется Aspose.3D внутренне, но может раскрыть всю мощь Aspose.3D рендеринга.
Добавляет класс Aspose.ThreeD.Render.RenderableResource
Подкласс RenderResource, но сосредоточьтесь на рендеринге.
Добавляет Aspose.ThreeD. Сущности. Класс Сущностей ManualEntity
Пользователь должен использовать этот класс для реализации своего собственного объекта, который поддерживает рендеринг, этот класс инкапсулирует детали операций рендеринга и управления ресурсами.
Добавляет несколько триангуляционных методов в класс Aspose.ThreeD. Enties. PolygonModifier
Больше перегрузок, чтобы упростить использование оригинальной функции.
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);
Добавляет методы CreateVertexBuffer, CreateIndexBuffer, CreateTextureUnit, CreateRenderState и CreateShaderProgram в класс 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)
Добавление методов BindRenderState, DrawIndexed, Draw и SubmitRenderTask в класс 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)
Добавление свойств RenderStage и Shader в класс Aspose.ThreeD.Render.Renderer
C#
public RenderStage RenderStage { get; }
public Aspose.ThreeD.Render.ShaderProgram Shader{ get;set;}