En esta página

Qt3DRender::QEffect Class

class Qt3DRender::QEffect

La clase base para los efectos en una escena Qt 3D. Más...

Cabecera: #include <QEffect>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
En QML: Effect
Hereda: Qt3DCore::QNode
Status: Obsoleto

Funciones Públicas

void addParameter(Qt3DRender::QParameter *parameter)
void addTechnique(Qt3DRender::QTechnique *t)
QList<Qt3DRender::QParameter *> parameters() const
void removeParameter(Qt3DRender::QParameter *parameter)
void removeTechnique(Qt3DRender::QTechnique *t)
QList<Qt3DRender::QTechnique *> techniques() const

Descripción Detallada

La clase QEffect combina un conjunto de técnicas y parámetros utilizados por esas técnicas para producir un efecto de renderizado para un material.

Una instancia QEffect debe ser compartida entre varias instancias QMaterial cuando sea posible.

Nota: El nodo QEffect no puede desactivarse.

QEffect *effect = new QEffect();

// Create technique, render pass and shader
QTechnique *gl3Technique = new QTechnique();
QRenderPass *gl3Pass = new QRenderPass();
QShaderProgram *glShader = new QShaderProgram();

// Set the shader on the render pass
gl3Pass->setShaderProgram(glShader);

// Add the pass to the technique
gl3Technique->addRenderPass(gl3Pass);

// Set the targeted GL version for the technique
gl3Technique->graphicsApiFilter()->setApi(QGraphicsApiFilter::OpenGL);
gl3Technique->graphicsApiFilter()->setMajorVersion(3);
gl3Technique->graphicsApiFilter()->setMinorVersion(1);
gl3Technique->graphicsApiFilter()->setProfile(QGraphicsApiFilter::CoreProfile);

// Add the technique to the effect
effect->addTechnique(gl3Technique);

Un QParameter definido en un QEffect anula parámetros (del mismo nombre) definidos en QTechnique y QRenderPass, pero son anulados por parámetros en QRenderPassFilter, QTechniqueFilter y QMaterial.

Ver también QMaterial, QTechnique, y QParameter.

Documentación de funciones miembro

void QEffect::addParameter(Qt3DRender::QParameter *parameter)

Añade parameter al efecto. Envía una actualización al backend. El parameter se utilizará para establecer un valor uniforme correspondiente en el sombreador utilizado por este efecto.

void QEffect::addTechnique(Qt3DRender::QTechnique *t)

Añade una nueva técnica t al efecto. Envía una actualización al backend.

QList<Qt3DRender::QParameter *> QEffect::parameters() const

Devuelve la lista de parámetros utilizados por el efecto.

void QEffect::removeParameter(Qt3DRender::QParameter *parameter)

Elimina un parámetro parameter del efecto.

void QEffect::removeTechnique(Qt3DRender::QTechnique *t)

Elimina una técnica t del efecto.

QList<Qt3DRender::QTechnique *> QEffect::techniques() const

Devuelve la lista de técnicas utilizadas por el efecto.

© 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.