QComputeCommand Class
class Qt3DRender::QComputeCommandQComponent 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
- runType : RunType
- workGroupX : int
- workGroupY : int
- workGroupZ : int
Ö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
void | runTypeChanged() |
void | workGroupXChanged() |
void | workGroupYChanged() |
void | workGroupZChanged() |
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.