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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.