Qt3DRender::QComputeCommand Class
class Qt3DRender::QComputeCommandQComponent para emitir trabajo para el compute shader en la GPU. Más...
| Cabecera: | #include <QComputeCommand> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender)target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| En QML: | ComputeCommand |
| Hereda: | Qt3DCore::QComponent |
| Status: | Obsoleto |
Propiedades
- runType : RunType
- workGroupX : int
- workGroupY : int
- workGroupZ : int
Funciones públicas
| QComputeCommand(Qt3DCore::QNode *parent = nullptr) | |
| Qt3DRender::QComputeCommand::RunType | runType() const |
| int | workGroupX() const |
| int | workGroupY() const |
| int | workGroupZ() const |
Ranuras públicas
| 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) |
Señales
| void | runTypeChanged() |
| void | workGroupXChanged() |
| void | workGroupYChanged() |
| void | workGroupZChanged() |
Descripción detallada
A Qt3DRender::QComputeCommand se utiliza para emitir trabajo para el sombreador de cómputo. El sombreador se especifica en el componente QMaterial de la misma entidad a la que se añade el QComputeCommand. Las propiedades workGroupX, workGroupY y workGroupZ especifican los tamaños de los grupos de trabajo para la invocación del sombreador de cómputo. El nodo Qt3DRender::QDispatchCompute necesita estar presente en el FrameGraph para emitir realmente los comandos.
Nota: Si la política de render está establecida en Qt3DRender::QRenderSettings::OnDemand y no hay cambios en la escena, el ComputeCommand no será invocado repetidamente. La política de renderizado Qt3DRender::QRenderSettings::Always debe estar establecida para que ComputeCommand sea invocado repetidamente si no hay otros cambios en la escena que desencadenen la renderización de un nuevo fotograma.
Documentación de propiedades
runType : RunType
Especifica si el comando de cálculo debe ejecutarse cada fotograma o manualmente.
Si se establece en Continuo, el comando Computar se ejecuta cada fotograma. Este es el valor predeterminado.
Si se establece en Manual, el comando de cálculo se ejecuta durante un número determinado de fotogramas y, a continuación, el componente se desactiva.
Funciones de acceso:
| Qt3DRender::QComputeCommand::RunType | runType() const |
| void | setRunType(Qt3DRender::QComputeCommand::RunType runType) |
Señal de aviso:
| void | runTypeChanged() |
workGroupX : int
Especifica el tamaño del grupo de trabajo X.
Funciones de acceso:
| int | workGroupX() const |
| void | setWorkGroupX(int workGroupX) |
Señal del notificador:
| void | workGroupXChanged() |
workGroupY : int
Especifica el tamaño del grupo de trabajo Y.
Funciones de acceso:
| int | workGroupY() const |
| void | setWorkGroupY(int workGroupY) |
Señal de aviso:
| void | workGroupYChanged() |
workGroupZ : int
Especifica el tamaño del grupo de trabajo Z.
Funciones de acceso:
| int | workGroupZ() const |
| void | setWorkGroupZ(int workGroupZ) |
Señal de notificador:
| void | workGroupZChanged() |
Documentación de la función miembro
[explicit] QComputeCommand::QComputeCommand(Qt3DCore::QNode *parent = nullptr)
El constructor crea una nueva instancia de Qt3DRender::QComputeCommand con la dirección parent especificada.
[slot] void QComputeCommand::setWorkGroupX(int workGroupX)
Establece el grupo de trabajo de la primera dimensión en workGroupX.
Nota: Función Setter para la propiedad workGroupX.
Véase también workGroupX().
[slot] void QComputeCommand::setWorkGroupY(int workGroupY)
Establece el grupo de trabajo para la segunda dimensión en workGroupY.
Nota: Función Setter para la propiedad workGroupY.
Véase también workGroupY().
[slot] void QComputeCommand::setWorkGroupZ(int workGroupZ)
Establece el grupo de trabajo para la tercera dimensión en workGroupZ.
Nota: Función Setter para la propiedad workGroupZ.
Véase también workGroupZ().
[slot] void QComputeCommand::trigger(int frameCount = 1)
Cuando el tipo de ejecución es Manual, la llamada al trigger hará que el comando de cálculo se ejecute durante los siguientes frameCount frames. Al finalizar la ejecución, la propiedad enabled se establecerá a false.
Nota: Esta ranura está sobrecargada. Para conectarse a esta ranura:
// Connect using qOverload:
connect(sender, &SenderClass::signal,
computeCommand, qOverload(&QComputeCommand::trigger));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
computeCommand, [receiver = computeCommand](int frameCount) { receiver->trigger(frameCount); }); [slot] void QComputeCommand::trigger(int workGroupX, int workGroupY, int workGroupZ, int frameCount = 1)
Cuando el tipo de ejecución es Manual, la llamada al trigger hará que el comando de cálculo se ejecute durante los siguientes frameCount frames. Al finalizar la ejecución, la propiedad enabled se establecerá en false. El tamaño del grupo de trabajo establecido previamente se anulará con workGroupX, workGroupY, workGroupZ.
Nota: Esta ranura está sobrecargada. Para conectarse a esta ranura:
// Connect using qOverload:
connect(sender, &SenderClass::signal,
computeCommand, qOverload(&QComputeCommand::trigger));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
computeCommand, [receiver = computeCommand](int workGroupX, int workGroupY, int workGroupZ, int frameCount) { receiver->trigger(workGroupX, workGroupY, workGroupZ, frameCount); }); © 2026 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.