Spec-Zone.ru › Qt

Тип Scene3D QML

Тип Scene3D используется для интеграции сцены Qt3D в сцену QtQuick 2. Подробнее...

Заявление об импорте: import QtQuick.Scene3D
Наследует:

Item

  • Список всех членов, включая унаследованные

Свойства

  • aspects : список<строка>
  • cameraAspectRatioMode : перечисление
  • compositingMode : перечисление
  • entity : Entity
  • hoverEnabled : bool
  • multisample : bool

Методы

  • void setItemAreaAndDevicePixelRatio(размер area, вещественное devicePixelRatio)

Подробное описание

Тип Scene3D отрисовывает сцену Qt3D, предоставленную объектом Entity, в объект Framebuffer с многократной выборкой. Этот объект впоследствии считывается в объект Framebuffer без многократной выборки, который затем отрисовывается с предварительно умноженным альфа-каналом. Если многократная выборка не требуется, её можно избежать, установив свойство multisample в false. В этом случае Scene3D будет отрисовывать непосредственно в объект Framebuffer без многократной выборки.

Если сцена, подлежащая отрисовке, содержит непрозрачные материалы, вам может потребоваться изменить эти материалы с помощью пользовательских аргументов смешивания, чтобы они отрисовывались правильно. Например, если вы работаете с PhongAlphaMaterial и сценой с непрозрачным цветом очистки, вам, вероятно, нужно добавить:

sourceAlphaArg: BlendEquationArguments.Zero
destinationAlphaArg: BlendEquationArguments.One

в этот материал.

Не рекомендуется создавать более одного экземпляра Scene3D на приложение. Причина в том, что экземпляр Scene3D создаёт весь движок Qt 3D (менеджеры памяти, пул потоков, рендеринг ...) внутри сцены.

Примечание: Установка видимости элемента Scene3D в false остановит цикл симуляции Qt 3D. Это означает, что привязка свойства visible к выражению, зависящему от обновлений свойств, управляемых циклом симуляции Qt 3D (FrameAction), никогда не будет переоцениваться.

Документация по свойствам

aspects : список<строка>

Список аспектов, которые должны быть зарегистрированы для 3D-сцены.

Например, если сцена использует FrameAction, аспект "logic" должен быть включен в список.

Аспект "render" жёстко задан и не нужно включать его явно.

cameraAspectRatioMode : перечисление

Константа Описание
Scene3D.AutomaticAspectRatio Автоматическое соотношение сторон.
Scene3D.UserAspectRatio Определяемое пользователем соотношение сторон.

[с 5.14] compositingMode : перечисление

Константа Описание
FBO Сцена отрисовывается в объект Frame Buffer Object, что может быть дорогостоящим на некоторых платформах и оборудовании, но позволяет большую гибкость. Автоматическое соотношение сторон. Этот режим композиции следует выбрать, если ваш элемент Scene3D не должен занимать весь экран и если вы планируете его масштабировать или анимировать. В этом режиме положение элемента Scene3D в файле QML управляет его порядком расположения по отношению к другим элементам Qt Quick.
Underlay Подходит для полноэкранных 3D-сцен, где использование FBO может быть слишком ресурсоёмким. Scene3D ведёт себя как подложка QtQuick. Обратите внимание, что при использовании этого режима размеры Scene3D и его преобразования игнорируются, а отрисовка будет занимать весь экран. Положение Scene3D в файле QML также не повлияет. Содержимое Qt 3D будет отрисовано до любого содержимого Qt Quick. Следует позаботиться о том, чтобы не замаскировать содержимое Qt 3D, перекрывая его содержимым Qt Quick. Кроме того, при использовании этого режима очистка окна перед отрисовкой (window clearBeforeRendering) будет автоматически установлена в false.

Значение по умолчанию — FBO.

Это свойство было введено в Qt 5.14.

[по умолчанию] entity : Entity

Корневой объект Entity 3D-сцены, который должен отображаться.

hoverEnabled : bool

true, если принимаются события наведения.

multisample : bool

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

По умолчанию многократная выборка включена. Если реализация OpenGL не поддерживает буферы рендеринга с многократной выборкой или считывание в буфер, запрос на использование многократной выборки игнорируется.

Примечание: Избегайте частой смены значения, так как это связано с дорогостоящей и потенциально медленной инициализацией буферов и других ресурсов OpenGL.

Документация по методам

void setItemAreaAndDevicePixelRatio(размер area, вещественное devicePixelRatio)

Устанавливает область элемента в area и коэффициент пикселей в devicePixelRatio.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-qtquick-scene3d-scene3d.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API