QComputeCommand Class

class Qt3DRender::QComputeCommand

QComponent zur Ausgabe von Arbeit für den Compute-Shader auf der GPU. Mehr...

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

Eigenschaften

Öffentliche Funktionen

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

Öffentliche Slots

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)

Signale

Detaillierte Beschreibung

Eine Qt3DRender::QComputeCommand wird verwendet, um Arbeit für den Compute-Shader auszugeben. Der Compute-Shader wird in der Komponente QMaterial derselben Entität angegeben, zu der der QComputeCommand hinzugefügt wird. Die Eigenschaften workGroupX, workGroupY und workGroupZ geben die Arbeitsgruppengrößen für den Aufruf des Compute-Shaders an. Der Knoten Qt3DRender::QDispatchCompute muss im FrameGraph vorhanden sein, um die Befehle tatsächlich auszugeben.

Hinweis: Wenn die Rendering-Richtlinie auf Qt3DRender::QRenderSettings::OnDemand eingestellt ist und keine Änderungen an der Szene vorgenommen werden, wird ComputeCommand nicht wiederholt aufgerufen. Die Rendering-Policy Qt3DRender::QRenderSettings::Always muss eingestellt sein, damit ComputeCommand wiederholt aufgerufen werden kann, wenn keine anderen Änderungen an der Szene vorliegen, die das Rendern eines neuen Frames auslösen.

Dokumentation der Eigenschaft

runType : RunType

Gibt an, ob der Berechnungsbefehl bei jedem Frame ausgeführt oder manuell ausgelöst werden soll.

Bei der Einstellung "Kontinuierlich" wird der Berechnungsbefehl bei jedem Frame ausgeführt. Dies ist die Standardeinstellung.

Wenn auf Manuell gesetzt, wird CompouteCommand für eine bestimmte Anzahl von Frames ausgeführt und dann deaktiviert sich die Komponente selbst.

Zugriffsfunktionen:

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

Melder-Signal:

void runTypeChanged()

workGroupX : int

Gibt die Größe der X-Workgroup an.

Zugriffsfunktionen:

int workGroupX() const
void setWorkGroupX(int workGroupX)

Melder-Signal:

void workGroupXChanged()

workGroupY : int

Gibt die Größe der Y-Arbeitsgruppe an.

Zugriffsfunktionen:

int workGroupY() const
void setWorkGroupY(int workGroupY)

Melder-Signal:

void workGroupYChanged()

workGroupZ : int

Gibt die Größe der Arbeitsgruppe Z an.

Zugriffsfunktionen:

int workGroupZ() const
void setWorkGroupZ(int workGroupZ)

Melder-Signal:

void workGroupZChanged()

Mitglied Funktion Dokumentation

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

Der Konstruktor erstellt eine neue Instanz von Qt3DRender::QComputeCommand mit der angegebenen parent.

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

Setzt die Arbeitsgruppe für die erste Dimension auf workGroupX.

Hinweis: Setter-Funktion für die Eigenschaft workGroupX.

Siehe auch workGroupX().

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

Setzt die Arbeitsgruppe für die zweite Dimension auf workGroupY.

Hinweis: Setter-Funktion für die Eigenschaft workGroupY.

Siehe auch workGroupY().

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

Setzt die Arbeitsgruppe für die dritte Dimension auf workGroupZ.

Hinweis: Setter-Funktion für die Eigenschaft workGroupZ.

Siehe auch workGroupZ().

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

Wenn die Ausführungsart auf Manuell eingestellt ist, führt der Aufruf des Triggers dazu, dass der Berechnungsbefehl für die nächsten frameCount Frames ausgeführt wird. Nach Abschluss der Ausführung wird die Eigenschaft enabled auf false gesetzt.

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

Wenn die Ausführungsart auf Manuell eingestellt ist, führt der Aufruf des Triggers dazu, dass der Berechnungsbefehl für die nächsten frameCount Frames ausgeführt wird. Nach Abschluss der Ausführung wird die Eigenschaft enabled auf false gesetzt. Die Größe der zuvor festgelegten Arbeitsgruppe wird mit workGroupX, workGroupY, workGroupZ überschrieben.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.