Qt3DRender::QRenderPass Class
class Qt3DRender::QRenderPassEncapsula un Pase de Renderizado. Más...
| Cabecera: | #include <QRenderPass> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender)target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| En QML: | RenderPass |
| Hereda: | Qt3DCore::QNode |
| Status: | Obsoleto |
Propiedades
- shaderProgram : Qt3DRender::QShaderProgram*
Funciones públicas
| QRenderPass(Qt3DCore::QNode *parent = nullptr) | |
| void | addFilterKey(Qt3DRender::QFilterKey *filterKey) |
| void | addParameter(Qt3DRender::QParameter *parameter) |
| void | addRenderState(Qt3DRender::QRenderState *state) |
| QList<Qt3DRender::QFilterKey *> | filterKeys() const |
| QList<Qt3DRender::QParameter *> | parameters() const |
| void | removeFilterKey(Qt3DRender::QFilterKey *filterKey) |
| void | removeParameter(Qt3DRender::QParameter *parameter) |
| void | removeRenderState(Qt3DRender::QRenderState *state) |
| QList<Qt3DRender::QRenderState *> | renderStates() const |
| Qt3DRender::QShaderProgram * | shaderProgram() const |
Ranuras públicas
| void | setShaderProgram(Qt3DRender::QShaderProgram *shaderProgram) |
Señales
| void | shaderProgramChanged(Qt3DRender::QShaderProgram *shaderProgram) |
Relacionados No miembros
Descripción detallada
Un Qt3DRender::QRenderPass especifica un único pase de renderizado - una instancia de ejecución del programa de sombreado - utilizado por Qt3DRender::QTechnique. El pase de renderizado consiste en un Qt3DRender::QShaderProgram y una lista de objetos Qt3DRender::QFilterKey, una lista de objetos Qt3DRender::QRenderState y una lista de objetos Qt3DRender::QParameter.
QRenderPass ejecuta el QShaderProgram utilizando los nodos QRenderState y QParameter dados cuando al menos uno de los nodos QFilterKey referenciados coincide con cualquiera de los nodos QFilterKey en QRenderPassFilter o cuando no se especifican nodos QFilterKey y no hay ningún QRenderPassFilter presente en el FrameGraph.
Si el QRenderPass define un QParameter, será reemplazado por un QParameter con el mismo nombre si existe en cualquiera de los QTechnique, QEffect, QMaterial, QTechniqueFilter, QRenderPassFilter asociados con el pase en tiempo de ejecución. Esto todavía puede ser útil para definir valores por defecto sanos.
En tiempo de renderizado, para cada nodo hoja del FrameGraph se registra un estado de renderizado base acumulando los estados definidos por todos los nodos QRenderStateSet de la rama FrameGraph. Cada QRenderPass puede sobrecargar este estado de renderizado base especificando sus propios nodos QRenderState.
// Create the render passes QRenderPass *pass = new QRenderPass(); // Create shader program QShaderProgram *glShader = new QShaderProgram(); // Set the shader on the render pass pass->setShaderProgram(glShader); // Create a FilterKey QFilterKey *filterKey = new QFilterKey(); filterKey->setName(QStringLiteral("name")); fitlerKey->setValue(QStringLiteral("zFillPass")); // Add the FilterKey to the pass pass->addFilterKey(filterKey); // Create a QParameter QParameter *colorParameter = new QParameter(QStringLiteral("color"), QColor::fromRgbF(0.0f, 0.0f, 1.0f, 1.0f)); // Add parameter to pass pass->addParameter(colorParameter); // Create a QRenderState QDepthTest *depthTest = new QDepthTest(); // Add the render state to the pass pass->addRenderState(depthTest);
Ver también QRenderPassFilter, QFilterKey, QParameter, QRenderState, QEffect, y QTechnique.
Documentación de propiedades
shaderProgram : Qt3DRender::QShaderProgram*
Especifica el programa de sombreado que se utilizará para este pase de render.
Funciones de acceso:
| Qt3DRender::QShaderProgram * | shaderProgram() const |
| void | setShaderProgram(Qt3DRender::QShaderProgram *shaderProgram) |
Señal notificadora:
| void | shaderProgramChanged(Qt3DRender::QShaderProgram *shaderProgram) |
Documentación de la función miembro
[explicit] QRenderPass::QRenderPass(Qt3DCore::QNode *parent = nullptr)
Construye un nuevo QRenderPass con el parent especificado.
void QRenderPass::addFilterKey(Qt3DRender::QFilterKey *filterKey)
Añade filterKey a las claves de filtro locales de Qt3DRender::QRenderPass.
void QRenderPass::addParameter(Qt3DRender::QParameter *parameter)
Añade parameter a los parámetros del pase de renderizado.
void QRenderPass::addRenderState(Qt3DRender::QRenderState *state)
Añade un render state al pase de renderizado. Esto implica que cuando el pase se ejecuta en tiempo de render, el estado de render globalmente establecido será modificado por los estados definidos localmente por el Qt3DRender::QRenderPass.
Nota: si no se define ningún Qt3DRender::QRenderState en un pase, el pase utilizará el estado de render globalmente establecido para una determinada ruta de ejecución de la rama FrameGraph.
QList<Qt3DRender::QFilterKey *> QRenderPass::filterKeys() const
Devuelve la lista de objetos clave de Qt3DRender::QFilterKey que componen las claves de filtro de Qt3DRender::QRenderPass.
QList<Qt3DRender::QParameter *> QRenderPass::parameters() const
Devuelve un vector de los parámetros actuales del pase de renderizado
void QRenderPass::removeFilterKey(Qt3DRender::QFilterKey *filterKey)
Elimina filterKey de las claves del filtro local Qt3DRender::QRenderPass.
void QRenderPass::removeParameter(Qt3DRender::QParameter *parameter)
Elimina parameter de los parámetros del pase de renderizado.
void QRenderPass::removeRenderState(Qt3DRender::QRenderState *state)
Elimina state del estado de renderizado local de Qt3DRender::QRenderPass.
QList<Qt3DRender::QRenderState *> QRenderPass::renderStates() const
Devuelve la lista de objetos de estado de Qt3DRender::QRenderState que componen el estado de renderizado de Qt3DRender::QRenderPass.
© 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.