浏览我们的产品

Aspose.3D for .NET 21.1发行说明

改进和变更

钥匙摘要类别
THREEDNET-784增加对USDC格式的支持新功能
THREEDNET-773为DXF文件添加材料支持改进
THREEDNET-797添加支持。净5.0改进
THREEDNET-803改进web渲染器中的ComboBox改进
THREEDNET-795Obj到u3d转换-缺少纹理错误修复
THREEDNET-801相机正投影的实现不正确错误修复
THREEDNET-783将位图映射到GLB中的三角形。错误修复
THREEDNET-802Draco/glTF文件使用预测度算法将无法导入。错误修复
THREEDNET-804Aspose.3D渲染在某些集成GPU上不起作用错误修复

API更改

21.1有两个重大变化,

  • 通过将准备和渲染分开,Renderer的性能得到了改善,还修复了一些与渲染相关的错误。
  • 增加了对USDC进口的支持

添加了类Aspose.ThreeD.Renderqueue.IRenderQueue

IRenderQueue实例将传递给EntityRenderer当渲染器尝试渲染某些内容时,EntityRenderer将需要准备用于渲染的硬件资源,并将渲染任务添加到EntityRenderer中的渲染队列中

删除类Aspose.ThreeD.Renderable.IRenderable

这是一个过时的界面,很长一段时间都很有用,删除它是安全的。

向类Aspose.ThreeD添加了新成员。文件格式:

        /// <summary>
        /// Gets the extension names of this type.
        /// </summary>
        public string[]Extensions{ get;}

        /// <summary>
        /// Universal Scene Description
        /// </summary>
        public static readonly Aspose.ThreeD.FileFormat USD;

某些格式,如USD,GLTF可能包含多个扩展,我们引入了一个新属性来获取所有扩展。

重构类Aspose.ThreeD.Render.EntityRenderer:

        public void PrepareRenderQueue(Aspose.ThreeD.Render.Renderer renderer, Aspose.ThreeD.Node node, Aspose.ThreeD.Entity entity)

已更改为两个功能:

        /// <summary>
        /// Prepare rendering commands for specified node/entity pair.
        /// </summary>
        /// <param name="renderer">The current renderer instance</param>
        /// <param name="queue">The render queue used to manage render tasks</param>
        /// <param name="node">Current node</param>
        /// <param name="entity">The entity that need to be rendered</param>
        public void PrepareRenderQueue(Aspose.ThreeD.Render.Renderer renderer, Aspose.ThreeD.Render.IRenderQueue queue, Aspose.ThreeD.Node node, Aspose.ThreeD.Entity entity)
        /// <summary>
        /// Each render task pushed to the <see cref="IRenderQueue"/> will have a corresponding RenderEntity call
        /// to perform the concrete rendering job.
        /// </summary>
        /// <param name="renderer">The renderer</param>
        /// <param name="commandList">The commandList used to record the rendering commands</param>
        /// <param name="node">The same node that passed to PrepareRenderQueue of the entity that will be rendered </param>
        /// <param name="renderableResource">The custom object that passed to IRenderQueue during the PrepareRenderQueue </param>
        /// <param name="subEntity">The index of the sub entity that passed to IRenderQueue</param>
        public virtual void RenderEntity(Renderer renderer, ICommandList commandList, Node node, object renderableResource, int subEntity);

在旧的实现中,在PrepareRenderQueue阶段创建的渲染使用的硬件资源可能会在某些驱动程序中引起一些问题。

因此,我们将准备和渲染分开,并优化了一些内部缓存。

已淘汰的成员从类Aspose.ThreeD.RenderFactory中删除:

        public Aspose.ThreeD.Render.IRenderWindow CreateRenderWindow(Aspose.ThreeD.Render.RenderParameters parameters, System.IntPtr handle)

此删除已计划,并且此已淘汰的功能具有相同名称的替换。


 
 简体中文