QComputeCommand 类

class Qt3DRender::QComputeCommand

用于在 GPU 上执行计算着色器工作的 QComponent。 更多...

头文件 #include <QComputeCommand>
CMakefind_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmakeQT += 3drender
由以下类实例化 ComputeCommand
继承自 Qt3DCore::QComponent

属性

公开函数

QComputeCommand(Qt3DCore::QNode *parent = nullptr)
Qt3DRender::QComputeCommand::RunTyperunType() const
intworkGroupX() const
intworkGroupY() const
intworkGroupZ() const

公开槽

voidsetRunType(Qt3DRender::QComputeCommand::RunType runType)
voidsetWorkGroupX(int workGroupX)
voidsetWorkGroupY(int workGroupY)
voidsetWorkGroupZ(int workGroupZ)
voidtrigger(int frameCount = 1)
voidtrigger(int workGroupX, int workGroupY, int workGroupZ, int frameCount = 1)

信号

详细描述

Qt3DRender::QComputeCommand 用于向计算着色器发送任务。计算着色器指定在添加了 QMaterial 组件的同一实体的 workGroupXworkGroupYworkGroupZ 属性中,用于指定计算着色器调用的工作组大小。需要在帧图中存在 Qt3DRender::QDispatchCompute 节点才能实际发送命令。

注意:如果渲染策略设置为 Qt3DRender::QRenderSettings::OnDemand 且场景没有变化,ComputeCommand 不会被反复调用。如果没有其他改变场景以触发渲染新帧的变化,ComputeCommand 必须设置为 Qt3DRender::QRenderSettings::Always 渲染策略才会被反复调用。

属性文档

runType : RunType

指定计算命令是否应在每一帧执行或手动触发。

如果设置为连续,则每帧执行计算命令。这是默认设置。

如果设置为手动,则在指定数量的帧后执行计算命令,然后组件会禁用自己。

访问函数

Qt3DRender::QComputeCommand::RunTyperunType() const
voidsetRunType(Qt3DRender::QComputeCommand::RunType runType)

通知信号

voidrunTypeChanged()

workGroupX : int

指定 X 工作组大小。

访问函数

intworkGroupX() const
voidsetWorkGroupX(int workGroupX)

通知信号

voidworkGroupXChanged()

workGroupY : int

指定 Y 工作组大小。

访问函数

intworkGroupY() const
voidsetWorkGroupY(int workGroupY)

通知信号

voidworkGroupYChanged()

workGroupZ : int

指定 Z 工作组大小。

访问函数

intworkGroupZ() const
voidsetWorkGroupZ(int workGroupZ)

通知信号

voidworkGroupZChanged()

成员函数文档

[显式] QComputeCommand::QComputeCommand(Qt3DCore::QNode *parent = nullptr)

构造函数创建一个具有指定 parent 的新 Qt3DRender::QComputeCommand 实例。

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

将第一个维度的工作组设置为 workGroupX

注意:属性 workGroupX 的设置函数。

另请参阅:workGroupX()。

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

将第二维度的工作组设置为 workGroupY

注意:属性 workGroupY 的设置函数。

另请参阅:workGroupY()。

[slot] void QComputeCommand::setWorkGroupZ(int 工作组Z)

将三维工作组的设置设置为工作组Z

注意:属性工作组Z的设置器函数。

另请参阅:工作组Z

[slot] void QComputeCommand::trigger(int 帧计数 = 1)

当运行类型设置为手动时,调用trigger将使计算命令在接下来的帧计数帧内执行。执行完成后,将enabled属性设置为false。

[slot] void QComputeCommand::trigger(int 工作组Xint 工作组Yint 工作组Zint 帧计数 = 1)

当运行类型设置为手动时,调用trigger将使计算命令在接下来的帧计数帧内执行。执行完成后,将enabled属性设置为false。之前设置的工作组大小将被工作组X工作组Y工作组Z覆盖。

© 2024 Qt公司。所包含的文档贡献的版权分别属于各自的所有者。此处的文档是根据自由软件基金会发布并由自由软件基金会出版的GNU自由文档许可协议版本1.3的条款许可的。Qt和相应的标志是芬兰以及其他国家/地区的Qt公司的商标。所有其他商标属于其各自所有者。