Spec-Zone.ru › Qt

Класс QComputeCommand

класс Qt3DRender::QComputeCommand

QComponent для выполнения задач для шейдера вычислений на GPU. Подробнее...

Заголовок: #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 не будет вызываться повторно. Необходимо установить политику рендеринга Qt3DRender::QRenderSettings::Always для ComputeCommand, чтобы он вызывался повторно, если в сцене нет других изменений, которые запускают рендеринг нового кадра.

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

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.2/qt3drender-qcomputecommand.html

Spec-Zone.ru

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