IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

QEffect Class

The base class for effects in a Qt 3D scene.

This class was introduced in Qt 5.7.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

QEffect Class

  • Header: QEffect

  • Since: Qt 5.7

  • CMake:

    find_package(Qt6 REQUIRED COMPONENTS 3drender)

    target_link_libraries(mytarget PRIVATE Qt6::3drender)

  • qmake: QT += 3drender

  • Inherited By:

  • Instantiated By: qml-qt3d-render-effect.xml

  • Inherits: Qt3DCore::QNode

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.

QEffect node can not be disabled.

 
Sélectionnez
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 a QEffect overrides parameter (of the same name) defined in QTechnique and QRenderPass, but are overridden by parameter in QRenderPassFilter, QTechniqueFilter and QMaterial.

See Also

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.

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

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

Returns the list of techniques used by the effect.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+