Spec-Zone.ru › Qt 6.0

Класс QComputeCommand

класс Qt3DRender::QComputeCommand

QComponent для выдачи задач для вычислительного шейдера на графическом процессоре. Подробнее...

Заголовок: #include <QComputeCommand>
CMake: find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
С момента: Qt 5.7
Инициализируется: ComputeCommand
Наследует: Qt3DCore::QComponent
  • Список всех членов, включая унаследованные

Свойства

  • runType : RunType
  • workGroupX : int
  • workGroupY : int
  • workGroupZ : int

Открытые функции

QComputeCommand(Qt3DCore::QNode *parent = nullptr)
Qt3DRender::QComputeCommand::RunType runType() const
int workGroupX() const
int workGroupY() const
int workGroupZ() const

Открытые слоты

void setRunType(Qt3DRender::QComputeCommand::RunType runType)
void setWorkGroupX(int workGroupX)
void setWorkGroupY(int workGroupY)
void setWorkGroupZ(int workGroupZ)
void trigger(int workGroupX, int workGroupY, int workGroupZ, int frameCount = 1)
void trigger(int frameCount = 1)

Сигналы

void runTypeChanged()
void workGroupXChanged()
void workGroupYChanged()
void workGroupZChanged()

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

Класс Qt3DRender::QComputeCommand используется для выдачи задач для вычислительного шейдера. Вычислительный шейдер задаётся в компоненте QMaterial того же объекта, к которому добавлен QComputeCommand. Свойства workGroupX, workGroupY и workGroupZ задают размеры рабочих групп для вызова вычислительного шейдера. Узел Qt3DRender::QDispatchCompute должен присутствовать в FrameGraph, чтобы фактически выполнить команды.

Примечание: Если политика рендеринга установлена в Qt3DRender::QRenderSettings::OnDemand и нет изменений в сцене, то ComputeCommand не будет вызываться повторно. Для того, чтобы ComputeCommand вызывался повторно, если нет других изменений в сцене, которые вызывают рендеринг нового кадра, необходимо установить политику рендеринга Qt3DRender::QRenderSettings::Always.

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

runType : RunType

Определяет, должен ли вычислительный командный обрабатываться на каждом кадре или вручную.

Если установлено Continuous, вычислительная команда выполняется на каждом кадре. Это значение по умолчанию.

Если установлено Manual, вычислительная команда выполняется заданное количество кадров, а затем компонент отключается.

Функции доступа:

Qt3DRender::QComputeCommand::RunType runType() const
void setRunType(Qt3DRender::QComputeCommand::RunType runType)

Сигнал оповещения:

void runTypeChanged()

workGroupX : int

Указывает размер рабочей группы по оси X.

Функции доступа:

int workGroupX() const
void setWorkGroupX(int workGroupX)

Сигнал оповещения:

void workGroupXChanged()

workGroupY : int

Указывает размер рабочей группы по оси Y.

Функции доступа:

int workGroupY() const
void setWorkGroupY(int workGroupY)

Сигнал оповещения:

void workGroupYChanged()

workGroupZ : int

Указывает размер рабочей группы по оси Z.

Функции доступа:

int workGroupZ() const
void setWorkGroupZ(int workGroupZ)

Сигнал оповещения:

void workGroupZChanged()

Документация по функциям-членам

QComputeCommand::QComputeCommand(Qt3DCore::QNode *parent = nullptr)

Конструктор создаёт новый экземпляр Qt3DRender::QComputeCommand с указанным parent.

[slot] void QComputeCommand::setWorkGroupX(int workGroupX)

Устанавливает размер рабочей группы по первой размерности в workGroupX.

Примечание: Функция-установщик для свойства workGroupX.

См. также workGroupX().

[slot] void QComputeCommand::setWorkGroupY(int workGroupY)

Устанавливает размер рабочей группы по второй размерности в workGroupY.

Примечание: Функция-установщик для свойства workGroupY.

См. также workGroupY().

[slot] void QComputeCommand::setWorkGroupZ(int workGroupZ)

Устанавливает размер рабочей группы по третьей размерности в workGroupZ.

Примечание: Функция-сеттер для свойства workGroupZ.

См. также workGroupZ().

[slot] void QComputeCommand::trigger(int workGroupX, int workGroupY, int workGroupZ, int frameCount = 1)

Когда тип выполнения установлен в Ручной, вызов trigger приведет к выполнению вычислительной команды в течение следующих frameCount кадров. По завершении выполнения свойство enabled будет установлено в false. Размер рабочей группы, установленный ранее, будет перезаписан значениями workGroupX, workGroupY, workGroupZ.

[slot] void QComputeCommand::trigger(int frameCount = 1)

Когда тип выполнения установлен в Ручной, вызов trigger приведет к выполнению вычислительной команды в течение следующих frameCount кадров. По завершении выполнения свойство enabled будет установлено в false.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qt3drender-qcomputecommand.html

Spec-Zone.ru

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