Просмотрите наши продукты

Aspose.3D for .NET 21,1 Примечания к выпуску

Улучшения и изменения

КлючСводкаКатегория
THREEDNET-784Добавить поддержку формата USDCНовая функция
THREEDNET-773Добавить материальную поддержку для файла DXFУлучшение
THREEDNET-797Добавить поддержку для. Нетто 5,0Улучшение
THREEDNET-803Улучшите ComboBox в веб-рендерере.Улучшение
THREEDNET-795Преобразование Obj в u3d-отсутствие текстурыИсправление ошибок
THREEDNET-801Реализация орфографической проекции камеры невернаИсправление ошибок
THREEDNET-783Карта растровых карт в треугольники от GLB.Исправление ошибок
THREEDNET-802Draco/glTF Файлы использовали алгоритм прогнозирования степени не удалось импортировать.Исправление ошибок
THREEDNET-804Aspose.3D рендеринг не работает на некоторых интегрированных графического процессораИсправление ошибок

API изменения

Есть два основных изменения в 21,1,

  • Производительность рендерера улучшилась за счет разделения подготовки и рендеринга, а также исправлены некоторые ошибки, связанные с рендерингом.
  • Добавлена поддержка импорта USDC

Добавлен класс Aspose.ThreeD.Render.IRenderQueue

Экземпляр IRenderQueue будет передан EntityRenderer, когда рендерер пытается что-то визуализировать, EntityRenderer должен будет подготовиться к аппаратным ресурсам, используемым для рендеринга, и добавить задачи рендеринга в очередь рендеринга в EntityRenderer.PrepareRenderQueue

Удален класс Aspose.ThreeD. Рендер.

Это устаревенный интерфейс, который долгое время был полезен, его можно безопасно удалить.

Добавлены новые члены в класс Aspose.ThreeD.FileFormat:

        /// <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.Render.RenderFactory:

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

Это удаление было запланировано, и эта устаревенная функция имеет замену с тем же именем.


 
 Русский