Aspose.3D is a class library for working with 3D files. It allows developers to create/manipulate/render 3D scene and work with FBX,STL,OBJ,3DS,U3D,DAE files. It allows you to open files and manipulate the elements in the 3D scene, from line,mesh,nurbs curve, to more complex elements animation, and then export to FBX ASCII, FBX binary, STL ASCII, STL binary, Collada, Wavefront .obj and 3DS formats.
See the version list below for details.
It allows developers to perform high-performance real-time rendering on a GUI framework like WinForms, it's GUI framework-independent, so the other GUI frameworks should also support this.
Adds Collada format
In this version (2.0.0), developers can import Collada 3D files, so Collada property is added in Aspose.ThreeD.FileFormat class
Adds Aspose.ThreeD.Utilities.BoundingBox and Aspose.ThreeD.Utilities.BoundingBoxExtent classes
The BoundingBox and BoundingBoxExtent classes represent bounding box of a 3D node. Developers may reset the camera, and calculate the elevation from bounding box. The infinite or null bounding box means the scene has no geometries, only adjust camera's elevation when it's finite.
Renamed type Aspose.ThreeD.UpVector to Aspose.ThreeD.Axis
The UpVector class has been renamed to Axis class.
Adds Aspose.ThreeD.Render.DriverException class
The exceptions of the internal renderer are wrapped as DriverException.
Adds Aspose.ThreeD.Render.InitializationException class
This exception is thrown while failing to initialize the renderer, for example to initialize it on a computer that has no hardware support of OpenGL 4.0.
Adds Aspose.ThreeD.Render.Renderer class
Create a Renderer object and render window from the window's native handle. Right now we only support native window handle from Microsoft Windows. We'll support more platforms in the future. The CreateRenderer method of Renderer class will create a hardware OpenGL-backend renderer and some internal initializations will be done. When the renderer left using scope, the unmanaged hardware resources will also be disposed.
Adds Aspose.ThreeD.Render.Viewport class
Aspose.3D API supports three types of viewports. Since the render target render any one of three types of viewports.
Adds Aspose.ThreeD.Render.IRenderTarget/IRenderTexture/IRenderWindow classes
IRenderTarget is the base interface of IRenderTexture/IRenderWindow.
IRenderTexture allows to render the scene to one or more textures (textures are located in video memory and can be transferred to system memory).
IRenderWindow allows to render the scene to window in real-time.
Adds Aspose.ThreeD.Render.ITextureUnit and Aspose.ThreeD.Render.TextureType classes
ITextureUnit is actually two things, the texture sampler in GPU side and the texture data in CPU or GPU's memory.
Adds Aspose.ThreeD.Render.PostProcessing class
PostProcessing class allows developers to apply real-time image processing filter to the rendered image, in this version, we have provided 4 built-in post-processing effects, we'll allow developers to have their own custom post-processing algorithm in the future version.
Adds Aspose.ThreeD.Render.RenderFactory class
It helps in rendering a scene to textures or window in real-time.
Adds Aspose.ThreeD.Render.RenderParameters class
It defines the parameters about how to create the render target like color bits, depth bits, stencil bits, double buffering.
AddData methods are added to Aspose.ThreeD.Entities.VertexElementUV class
The VertexElementUV's base class has changed from VertexElementTemplate<Vector2> to VertexElementTemplate<Vector4>, means it will only store Vector4 since 2.0.0, so two helper methods were added to allow user to add a list of Vector2 and Vector3 to VertexElementUV, it will internally expand the Vector2/Vector3 to Vector4 and leave the rest fields zero:
Property changes in class Aspose.ThreeD.FileFormat
The FileFormat properties are changed from integer to System.Version.
GetBoundingBox method is added to Aspose.ThreeD.Node
It allows developers to get the axis-aligned bounding box.
Please check the list of help topics added in the Aspose.3D Wiki docs:
This package has no dependencies.