QEffect Class

class Qt3DRender::QEffect

Die Basisklasse für Effekte in einer Qt 3D Szene. Mehr...

Kopfzeile: #include <QEffect>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
In QML: Effect
Vererbt: Qt3DCore::QNode
Status: Veraltet

Öffentliche Funktionen

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

Detaillierte Beschreibung

Die Klasse QEffect kombiniert eine Reihe von Techniken und Parametern, die von diesen Techniken verwendet werden, um einen Rendering-Effekt für ein Material zu erzeugen.

Eine QEffect-Instanz sollte, wenn möglich, von mehreren QMaterial -Instanzen gemeinsam genutzt werden.

Hinweis: QEffect-Knoten können nicht deaktiviert werden.

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);

Ein QParameter, das auf einem QEffect definiert ist, überschreibt Parameter (mit demselben Namen), die in QTechnique und QRenderPass definiert sind, aber von Parametern in QRenderPassFilter, QTechniqueFilter und QMaterial überschrieben werden.

Siehe auch QMaterial, QTechnique, und QParameter.

Dokumentation der Mitgliedsfunktionen

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

Fügt parameter zu dem Effekt hinzu. Er sendet eine Aktualisierung an das Backend. Die parameter wird verwendet, um einen entsprechenden einheitlichen Wert in dem von diesem Effekt verwendeten Shader einzustellen.

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

Fügt eine neue Technik t zu dem Effekt hinzu. Sie sendet eine Aktualisierung an das Backend.

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

Gibt die Liste der vom Effekt verwendeten Parameter zurück.

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

Entfernt einen Parameter parameter aus dem Effekt.

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

Entfernt eine Technik t aus dem Effekt.

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

Gibt die Liste der vom Effekt verwendeten Techniken zurück.

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