Sur cette page

Qt3DRender::QEffect Class

class Qt3DRender::QEffect

Classe de base pour les effets dans une scène Qt 3D. Plus d'informations...

En-tête : #include <QEffect>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : Effect
Hérite : Qt3DCore::QNode
Statut : Déclassé

Fonctions publiques

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

Description détaillée

La classe QEffect combine un ensemble de techniques et de paramètres utilisés par ces techniques pour produire un effet de rendu pour un matériau.

Une instance de QEffect doit être partagée entre plusieurs instances de QMaterial dans la mesure du possible.

Remarque : le nœud QEffect ne peut pas être désactivé.

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 paramètre QParameter défini sur un QEffect remplace les paramètres (du même nom) définis dans QTechnique et QRenderPass, mais qui sont remplacés par des paramètres dans QRenderPassFilter, QTechniqueFilter et QMaterial.

Voir également QMaterial, QTechnique, et QParameter.

Documentation des fonctions membres

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

Ajoute parameter à l'effet. Il envoie une mise à jour au backend. Le parameter sera utilisé pour définir une valeur uniforme correspondante dans le shader utilisé par cet effet.

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

Ajoute une nouvelle technique t à l'effet. Il envoie une mise à jour au backend.

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

Renvoie la liste des paramètres utilisés par l'effet.

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

Supprime un paramètre parameter de l'effet.

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

Supprime la technique t de l'effet.

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

Renvoie la liste des techniques utilisées par l'effet.

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