QComputeCommand Class

class Qt3DRender::QComputeCommand

GPU上のコンピュートシェーダーのための作業を発行するQComponent。さらに...

Header: #include <QComputeCommand>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
In QML: ComputeCommand
Inherits: Qt3DCore::QComponent
Status: Deprecated

プロパティ

パブリック関数

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)

シグナル

詳細説明

Qt3DRender::QComputeCommand は、コンピュートシェーダのための作業を発行するために使用されます。コンピュートシェーダは、QComputeCommandが追加されたエンティティのQMaterial コンポーネントで指定されます。workGroupXworkGroupYworkGroupZ プロパティは、コンピュートシェーダ呼び出しのためのワークグループサイズを指定します。Qt3DRender::QDispatchCompute ノードは、実際にコマンドを発行するためにFrameGraphに存在する必要があります。

注: レンダリングポリシーがQt3DRender::QRenderSettings::OnDemand に設定され、シーンに変更がない場合、ComputeCommand は繰り返し呼び出されません。新しいフレームをレンダリングするトリガーとなるシーンへの他の変更がない場合、ComputeCommand が繰り返し呼び出されるためには、Qt3DRender::QRenderSettings::Always レンダーポリシーが設定されている必要があります。

プロパティ ドキュメント

runType : RunType

コンピュートコマンドを毎フレーム実行するか、手動でトリガーするかを指定します。

Continuousに設定すると、Computeコマンドは毎フレーム実行されます。これがデフォルトです。

Manual に設定すると、CompouteCommand は指定されたフレーム数実行され、その後コンポーネントはそれ自体を無効にします。

アクセス機能:

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

Notifier シグナル:

void runTypeChanged()

workGroupX : int

ワークグループのサイズを指定します。

アクセス関数:

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()

メンバ関数ドキュメント

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

コンストラクタは、指定されたparent で新しいQt3DRender::QComputeCommand インスタンスを作成します。

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

最初のディメンジョンのワークグループをworkGroupX に設定します。

注釈 workGroupX プロパティのセッター関数です。

workGroupX()も参照して ください。

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

2 番目の次元のワークグループをworkGroupY に設定します。

注釈: プロパティworkGroupY のセッター関数。

workGroupY()も参照

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

3 番目の次元のワークグループをworkGroupZ に設定する。

注釈: プロパティworkGroupZ のセッター関数。

workGroupZ()も参照

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

実行タイプがManualに設定されている場合、triggerを呼び出すと、次のframeCount フレームの間、計算コマンドが実行される。実行が完了すると、enabledプロパティはfalseに設定される。

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

実行タイプがManualに設定されている場合、triggerを呼び出すと、computeコマンドは、次のframeCount フレーム分実行されます。実行が完了すると、enabledプロパティはfalseに設定される。以前に設定されたワークグループのサイズは、workGroupX,workGroupY,workGroupZ で上書きされる。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。