On this page
QEffect Class
class Qt3DRender::QEffectThe base class for effects in a Qt 3D scene. More...
Header: | #include <QEffect> |
qmake: | QT += 3drender |
Since: | Qt 5.7 |
Instantiated By: | Effect |
Inherits: | Qt3DCore::QNode |
This class was introduced in Qt 5.7.
Public Functions
void | addParameter(Qt3DRender::QParameter *parameter) |
void | addTechnique(Qt3DRender::QTechnique *t) |
QVector<Qt3DRender::QParameter *> | parameters() const |
void | removeParameter(Qt3DRender::QParameter *parameter) |
void | removeTechnique(Qt3DRender::QTechnique *t) |
QVector<Qt3DRender::QTechnique *> | techniques() const |
Detailed Description
The QEffect class combines a set of techniques and parameters used by those techniques to produce a rendering effect for a material.
An QEffect instance should be shared among several QMaterial instances when possible.
Note: QEffect node can not be disabled.
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);
A QParameter defined on an Effect is overridden by a QParameter (of the same name) defined in a QMaterial, QTechniqueFilter, QRenderPassFilter.
See also QMaterial, QTechnique, and QParameter.
Member Function Documentation
void QEffect::addParameter(Qt3DRender::QParameter *parameter)
Adds parameter to the effect. It sends an update to the backend. The parameter will be used to set a corresponding uniform value in the shader used by this effect.
void QEffect::addTechnique(Qt3DRender::QTechnique *t)
Adds a new technique t to the effect. It sends an update to the backend.
QVector<Qt3DRender::QParameter *> QEffect::parameters() const
Returns the list of parameters used by the effect.
void QEffect::removeParameter(Qt3DRender::QParameter *parameter)
Removes a parameter parameter from the effect.
void QEffect::removeTechnique(Qt3DRender::QTechnique *t)
Removes a technique t from the effect.
QVector<Qt3DRender::QTechnique *> QEffect::techniques() const
Returns the list of techniques used by the effect.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qt3drender-qeffect.html