QComputeCommand 类
class Qt3DRender::QComputeCommand用于在 GPU 上执行计算着色器工作的 QComponent。 更多...
头文件 | #include <QComputeCommand> |
CMake | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake | QT += 3drender |
由以下类实例化 | 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 frameCount = 1) |
void | trigger(int workGroupX, int workGroupY, int workGroupZ, int frameCount = 1) |
信号
void | runTypeChanged() |
void | workGroupXChanged() |
void | workGroupYChanged() |
void | workGroupZChanged() |
详细描述
Qt3DRender::QComputeCommand 用于向计算着色器发送任务。计算着色器指定在添加了 QMaterial 组件的同一实体的 workGroupX、workGroupY 和 workGroupZ 属性中,用于指定计算着色器调用的工作组大小。需要在帧图中存在 Qt3DRender::QDispatchCompute 节点才能实际发送命令。
注意:如果渲染策略设置为 Qt3DRender::QRenderSettings::OnDemand 且场景没有变化,ComputeCommand 不会被反复调用。如果没有其他改变场景以触发渲染新帧的变化,ComputeCommand 必须设置为 Qt3DRender::QRenderSettings::Always 渲染策略才会被反复调用。
属性文档
runType : RunType
指定计算命令是否应在每一帧执行或手动触发。
如果设置为连续,则每帧执行计算命令。这是默认设置。
如果设置为手动,则在指定数量的帧后执行计算命令,然后组件会禁用自己。
访问函数
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)
构造函数创建一个具有指定 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 工作组X, int 工作组Y, int 工作组Z, int 帧计数 = 1)
当运行类型设置为手动时,调用trigger将使计算命令在接下来的帧计数帧内执行。执行完成后,将enabled属性设置为false。之前设置的工作组大小将被工作组X、工作组Y、工作组Z覆盖。
© 2024 Qt公司。所包含的文档贡献的版权分别属于各自的所有者。此处的文档是根据自由软件基金会发布并由自由软件基金会出版的GNU自由文档许可协议版本1.3的条款许可的。Qt和相应的标志是芬兰以及其他国家/地区的Qt公司的商标。所有其他商标属于其各自所有者。