Qt Quick 3D, высокоуровневый 3D API для Qt Quick

дизайнСтудия3D

Qt 6 начинает четко анонсироваться, и детали этой версии точны, особенно на уровне 3D. Ну а в анонсе люди, отвечающие за разработку выпустила новый API для 3D в Qt Quick: Qt Quick 3D.

Этот будет конкурировать с Qt 3D, уже полноценный 3D-движок, интегрированный с Qt, даже если они оба будут использовать одну и ту же абстракцию. Основное различие между Qt Quick 3D и Qt 3D будет заключаться в уровне абстракции, причем Qt Quick 3D является более абстрактным. Разработка Qt 3D должна продолжаться, особенно с точки зрения производительности.. Однако Qt Quick 3D должен заменить движок рендеринга Qt 3D Studio: Qt Quick 3D построен на этой основе. Будут предоставлены инструменты для облегчения перехода на Qt Quick 3D.

О Qt Quick 3D

Для Qt 6 Qt Quick продолжит использовать график для рендеринга, но у него будут расширения для управления 3D, эти расширения называются Qt Quick 3D.

Его основная цель - ограничить трудности синхронизации между 2D и 3D деталями. интерфейса: на данный момент оба обрабатываются совершенно разными движками рендеринга, у которых нет простого способа синхронизации, что может дать довольно странный рендеринг для анимации.

Кроме того, на производительность влияет использование двух разных двигателей, которые специально не предназначены для совместной работы. С Qt Quick 3D ситуация должна быть проще: среда выполнения, Qt Quick, граф сцены, объединяющий 2D и 3D, интерфейс редактирования интерфейса, Qt Design Studio.

Qt Quick 3D API должен следовать тем же принципам, что и Qt Quick API.- Он должен быть простым в использовании, высокопроизводительным, без необходимости разбираться в деталях реализации движка рендеринга.

Qt Quick 3D предназначен не для сложных и конкретных 3D-приложений, а для большинства графических интерфейсов, сочетающих 2D и 3D. (В конце концов, должна быть видна все большая часть API рендеринга, что позволит использовать его в более сложных условиях.)

Qt Quick 3D уже можно будет использовать с Qt 5, хотя и не в его окончательной форме (полная интеграция с Qt Quick требует некоторых изменений в двоичной совместимости, это произойдет только с Qt 6): сначала будет доступен только QML API , но вскоре должен последовать API C ++.

Также Будет предложен ряд компонентов очень высокого уровня.l для определения вида 3D-контента: источников света, камер, материалов для рендеринга, но детали реализации не будут видны.

Следовательно, API должен быть очень простым в использовании, даже если у него ограниченные возможности: невозможно будет очень точно адаптировать способ отображения 3D-сцены, в отличие от Qt 3D. В частности, единственный движок рендеринга, доступный в настоящее время для Qt Quick 3D, основан на одном шаге вперед (опять же, в отличие от Qt 3D).

Несмотря на это, Qt Quick 3D уже имеет ряд примитивных компонентов: Node будет трехмерным эквивалентом Item для Qt Quick.

Камера будет обрабатывать преобразование 3D-сцены в 2D-поверхность с 3D-положением и проекцией.

Хотя компонент View3D - единственный, наследующий класс QQuickItem, в C ++ это единственный компонент, который может отображаться в сцене Qt Quick.

Трехмерная сцена может быть определена как подкомпонент View3D или вне его; таким образом, сцена может быть видна из одного 3D-вида или иметь несколько точек обзора. View3D представляет точку зрения компонента камеры.

На данный момент, Qt Quick 3D не интегрирован с Qt, соответствующий модуль необходимо загружать отдельно. Qt 5.12 - минимальная необходимая версия.

Модуль должен интегрироваться с Qt 5.14 в качестве технологической предварительной версии с полной поддержкой Qt 5.15. На данный момент новый движок рендеринга используется не для всех приложений.

источник: https://blog.qt.io/


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.