Aspose.3D for .NET 21,1 Notas de la versión

Mejoras y cambios

ClaveResumenCategoría
THREEDNET-784Añadir soporte de formato USDCNueva característica
THREEDNET-773Añadir soporte de material para archivo DXFMejora
THREEDNET-797Agregue soporte para. Neto 5,0Mejora
THREEDNET-803Mejorar ComboBox en el renderizador web.Mejora
THREEDNET-795Conversión de obj a u3d-textura faltanteCorrección de errores
THREEDNET-801La implementación de la proyección ortográfica de la cámara es incorrectaCorrección de errores
THREEDNET-783Mapa de mapa de bits a triángulos desde GLB.Corrección de errores
THREEDNET-802Draco/glTF Los archivos utilizados algoritmo de grado de predicción no se importarán.Corrección de errores
THREEDNET-804La representación Aspose.3D no funciona en alguna GPU integradaCorrección de errores

API cambios

Hay dos cambios importantes en 21,1,

  • El rendimiento del renderizador mejoró al separar la preparación y renderizar, también solucionó algunos errores relacionados con la representación.
  • Añadido soporte de importación USDC

Clase añadida Aspose.ThreeD.Render.IRenderQueue

Se pasará una instancia de IRenderQueue a EntityRenderer cuando el renderizador esté intentando representar algo, el EntityRenderer deberá prepararse para los recursos de hardware utilizados para representar y agregar las tareas de renderizado a la cola de renderizado en EntityRenderer.PrepareRenderQueue

Clase eliminada Aspose.ThreeD.Render. IRendable

Esta es una interfaz obsoleta y fue útil durante mucho tiempo, es seguro eliminarla.

Se han añadido nuevos miembros a la clase Aspose.ThreeD. Formato de archivo:

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

Algunos formatos como USD, GLTF pueden contener más de una extensiones, introdujimos una nueva propiedad para obtener todas las extensiones.

Clase refactorizada Aspose.ThreeD.Render.EntityRenderer:

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

Se ha cambiado en dos funciones:

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

En la implementación anterior, los recursos de hardware utilizados por la representación creada durante la etapa PrepareRenderQueue pueden causar algunos problemas en algunos controladores.

Así que separamos la preparación y el renderizado y optimizamos algunos cachés internos.

Miembro eliminado de la clase Aspose.ThreeD.Render.RenderFactory:

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

Esta eliminación fue programada y esta función obsoleta tiene un reemplazo con el mismo nombre.