Blader door onze producten

Aspose.3D for Java 21.1 Mitteilung hinweise

Verbesserungen und Änderungen

SchlüsselZusammenfassungKategorie
THREEDNET-784Unterstützung des USDC-Formats hinzufügenNeues Feature
THREEDNET-773Material unterstützung für die Datei DXF hinzufügenVerbesserung
THREEDNET-797Fügen Sie Unterstützung für hinzu. Netto 5.0Verbesserung
THREEDNET-803Verbessern Sie Combo Box im Web-Renderer.Verbesserung
THREEDNET-795Obj zu u3d Konvertierung-fehlende TexturFehler beheben
THREEDNET-801Die Umsetzung der ortho graphischen Projektion der Kamera ist falschFehler beheben
THREEDNET-783Kartenbitmap zu Dreiecken von GLB.Fehler beheben
THREEDNET-802Draco/glTF Der verwendete Vorhersage grad algorithmus kann nicht importiert werden.Fehler beheben
THREEDNET-804Aspose.3D Rendering funktioniert auf einigen integrierten GPU nichtFehler beheben

API Änderungen

Es gibt zwei wesentliche Änderungen in 21.1,

  • Die Leistung von Renderer wurde durch die Trennung von Vorbereitung und Rendern verbessert und auch einige Rendering-Fehler behoben.
  • Unterstützung des USDC-Imports hinzugefügt

Klasse com.aspose.threed.IRenderQueue hinzugefügt

Eine IRender Queue-Instanz wird an Entity Renderer übergeben, wenn der Renderer versucht, etwas zu rendern. Der Entity Renderer muss sich auf die für das Rendern verwendeten Hardware ressourcen vorbereiten und die Render aufgaben der Render warteschlange in Entity Renderer hinzufügen. Pre pare Render Queue

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

Entfernte Klasse com.aspose.threed.IRenderable

Dies ist eine veraltete Schnitts telle und war für eine lange Zeit nützlich, es ist sicher, dies zu entfernen.

Neue Mitglieder zur Klasse com.aspose.threed.FileFormat hinzugefügt:

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

    /**
     * Universal Scene Description
     */
    public static final FileFormat USD;

Einige Formate wie USD, GLTF enthält möglicher weise mehr als eine Erweiterung. Wir haben eine neue Eigenschaft eingeführt, um alle Erweiterungen zu erhalten.

Refactored Klasse com.aspose.threed.EntityRenderer:

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

Wurde in zwei Funktionen geändert:

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

In der alten Implementierung können die Hardware ressourcen, die durch das Rendern verwendet werden, das während der PrepareRenderQueue-Phase erstellt wurde, bei einigen Treibern einige Probleme verursachen.

Also trennen wir das Vorbereiten und Rendern und optimierten einige interne Caches.

Obsoles Mitglied aus der Klasse com.aspose.threed.RenderFactory entfernt:

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

Diese Entfernung war geplant, und diese veraltete Funktion hat einen Ersatz mit demselben Namen.


 
 Deutsch