Qt3DRender::QEffect Class
class Qt3DRender::QEffectDie Basisklasse für Effekte in einer „ Qt 3D “-Szene. Mehr...
| Header: | #include <qeffect.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| In QML: | Effect |
| Erbt von: | Qt3DCore::QNode |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Ö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 |
Ausführliche Beschreibung
Die Klasse „QEffect“ vereint eine Reihe von Techniken und die von diesen Techniken verwendeten Parameter, um einen Rendering-Effekt für ein Material zu erzeugen.
Eine QEffect-Instanz sollte nach Möglichkeit von mehreren „ QMaterial “-Instanzen gemeinsam genutzt werden.
Hinweis: DerQEffect -Knoten kann 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 auf einem QEffect definiertes „ QParameter “ überschreibt den (gleichnamigen) Parameter, der in „ QTechnique “ und „ QRenderPass “ definiert ist, wird jedoch selbst von den Parametern in „ QRenderPassFilter “, „ QTechniqueFilter “ und „ QMaterial “ überschrieben.
Siehe auch QMaterial, QTechnique und QParameter.
Dokumentation zu den Member-Funktionen
void QEffect::addParameter(Qt3DRender::QParameter *parameter)
Fügt dem Effekt „ parameter “ hinzu. Es sendet eine Aktualisierung an das Backend. Die „ parameter “ wird verwendet, um einen entsprechenden Uniform-Wert in dem von diesem Effekt verwendeten Shader festzulegen.
void QEffect::addTechnique(Qt3DRender::QTechnique *t)
Fügt dem Effekt eine neue Technik namens „ t “ hinzu. Diese 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.
© 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.