Explore nuestros productos

Aspose.3D for Java 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

Añadido clase com.aspose.threed.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

/**
 * Entity renderer uses this queue to manage render tasks.
 */
public interface IRenderQueue
{    
    /**
     * Add render task to the render queue.
     * @param groupId Which group of the queue the render task will be in
     * @param pipeline The pipeline instance used for this render task
     * @param renderableResource Custom object that will be sent to EntityRenderer.RenderEntity
     * @param subEntity The index of sub entities, useful when the entity is consisting of more than one sub renderable components.
     */
    void add(RenderQueueGroupId groupId, IPipeline pipeline, Object renderableResource, int subEntity);
}

Clase eliminada com.aspose.threed.IRenderable

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

Añadido nuevos miembros a la clase com.aspose.threed.FileFormat:

    /**
     * Gets the extension name of this type.
     */
    public String[]getExtensions();

    /**
     * Universal Scene Description
     */
    public static final 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 com.aspose.threed.EntityRenderer:

        public void prepareRenderQueue(com.aspose.threed.Render.Renderer renderer, Aspose.ThreeD.Node node, Aspose.ThreeD.Entity entity)

Se ha cambiado en dos funciones:

    /**
     * Prepare rendering commands for specified node/entity pair.
     * @param renderer The current renderer instance
     * @param queue The render queue used to manage render tasks
     * @param node Current node
     * @param entity The entity that need to be rendered
     */
    public void prepareRenderQueue(Renderer renderer, IRenderQueue queue, Node node, Entity entity);
    
    /**
     * Each render task pushed to the {@link com.aspose.threed.IRenderQueue} will have a corresponding RenderEntity call
     * to perform the concrete rendering job.
     * @param renderer The renderer
     * @param commandList The commandList used to record the rendering commands
     * @param node The same node that passed to PrepareRenderQueue of the entity that will be rendered
     * @param renderableResource The custom object that passed to IRenderQueue during the PrepareRenderQueue
     * @param subEntity The index of the sub entity that passed to IRenderQueue
     */
    public 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 obsoleto eliminado de la clase com.aspose.threed.RenderFactory:

        public com.aspose.threed.IRenderWindow createRenderWindow(com.aspose.threed.RenderParameters parameters, long handle);

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


 
 Español