Qt3DRender::QTechnique Class
class Qt3DRender::QTechniqueKapseln einer Technik. Mehr...
| Überschrift: | #include <qtechnique.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| In QML: | Technique |
| Erbt von: | Qt3DCore::QNode |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Eigenschaften
- graphicsApiFilter : Qt3DRender::QGraphicsApiFilter* const
Öffentliche Funktionen
| void | addFilterKey(Qt3DRender::QFilterKey *filterKey) |
| void | addParameter(Qt3DRender::QParameter *parameter) |
| void | addRenderPass(Qt3DRender::QRenderPass *pass) |
| QList<Qt3DRender::QFilterKey *> | filterKeys() const |
| Qt3DRender::QGraphicsApiFilter * | graphicsApiFilter() |
| const Qt3DRender::QGraphicsApiFilter * | graphicsApiFilter() const |
| QList<Qt3DRender::QParameter *> | parameters() const |
| void | removeFilterKey(Qt3DRender::QFilterKey *filterKey) |
| void | removeParameter(Qt3DRender::QParameter *parameter) |
| void | removeRenderPass(Qt3DRender::QRenderPass *pass) |
| QList<Qt3DRender::QRenderPass *> | renderPasses() const |
Detaillierte Beschreibung
Ein „ Qt3DRender::QTechnique “ gibt eine Menge von „ Qt3DRender::QRenderPass “-Objekten, „ Qt3DRender::QFilterKey “-Objekten, „ Qt3DRender::QParameter “-Objekten und einen „ Qt3DRender::QGraphicsApiFilter “ an, die zusammen eine Rendering-Technik definieren, die die angegebene Grafik-API darstellen kann. Die Filtertasten werden von „ Qt3DRender::QTechniqueFilter “ verwendet, um bestimmte Techniken an bestimmten Stellen des FrameGraphs auszuwählen. Ein „ QParameter “, der in einem „QTechnique“-Knoten definiert ist, überschreibt den gleichnamigen Parameter, der in „ QRenderPass “ definiert ist, wird jedoch von den Parametern in „ QRenderPassFilter “, „ QTechniqueFilter “, „ QMaterial “ und „ QEffect “ überschrieben.
Beim Erstellen eines „ QEffect “, der auf mehrere Versionen einer Grafik-API abzielt, ist es sinnvoll, mehrere „QTechnique“-Knoten zu erstellen, bei denen jeweils der Parameter „ graphicsApiFilter “ so eingestellt ist, dass er einer der angestrebten GL-Versionen entspricht. Zur Laufzeit wählt der Qt3D-Renderer die am besten geeignete `QTechnique` aus, basierend darauf, welche Grafik-API-Versionen unterstützt werden und (falls angegeben) welche ` QFilterKey `-Knoten eine bestimmte ` QTechniqueFilter ` im `FrameGraph` erfüllen.
Hinweis: Bei Verwendung von OpenGL als Grafik-API für das Rendering stützt sich Qt3D auf den von ` QSurfaceFormat::defaultFormat()` zur Laufzeit zurückgegebenen ` QSurfaceFormat `, um zu entscheiden, welche der verfügbaren GL-Versionen am besten geeignet ist. Wenn Sie den ` QSurfaceFormat` anpassen müssen, vergessen Sie nicht, dies mit ` QSurfaceFormat::setDefaultFormat()` anzuwenden. Das Setzen des ` QSurfaceFormat ` in der Ansicht hat wahrscheinlich keine Auswirkungen auf das Qt3D-bezogene Rendering.
Hinweis: DerQTechnique -Knoten kann nicht deaktiviert werden.
QTechnique *gl3Technique = new QTechnique();
// Create the render passes
QRenderPass *firstPass = new QRenderPass();
QRenderPass *secondPass = new QRenderPass();
// Add the passes to the technique
gl3Technique->addRenderPass(firstPass);
gl3Technique->addRenderPass(secondPass);
// 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);
// Create a FilterKey
QFilterKey *filterKey = new QFilterKey();
filterKey->setName(QStringLiteral("name"));
fitlerKey->setValue(QStringLiteral("zFillPass"));
// Add the FilterKey to the Technique
gl3Technique->addFilterKey(filterKey);
// Create a QParameter
QParameter *colorParameter = new QParameter(QStringLiteral("color"), QColor::fromRgbF(0.0f, 0.0f, 1.0f, 1.0f));
// Add parameter to technique
gl3Technique->addParameter(colorParameter);Siehe auch QEffect, QRenderPass und QTechniqueFilter.
Dokumentation zu den Eigenschaften
[read-only] graphicsApiFilter : Qt3DRender::QGraphicsApiFilter* const
Gibt den verwendeten Grafik-API-Filter an
Zugriffsfunktionen:
| Qt3DRender::QGraphicsApiFilter * | graphicsApiFilter() |
| const Qt3DRender::QGraphicsApiFilter * | graphicsApiFilter() const |
Dokumentation zu den Mitgliedsfunktionen
void QTechnique::addFilterKey(Qt3DRender::QFilterKey *filterKey)
Fügen Sie „ filterKey “ zu den lokalen Filterschlüsseln „ Qt3DRender::QTechnique “ hinzu.
void QTechnique::addParameter(Qt3DRender::QParameter *parameter)
Fügen Sie „ parameter “ zu den Parametern der Technik hinzu.
void QTechnique::addRenderPass(Qt3DRender::QRenderPass *pass)
Fügt der Technik ein „ pass “ hinzu.
QList<Qt3DRender::QFilterKey *> QTechnique::filterKeys() const
Gibt die Liste der Schlüsselobjekte vom Typ `Qt3DCore::QFilterKey` zurück, aus denen sich die Filterschlüssel des ` Qt3DRender::QTechnique` zusammensetzen.
QList<Qt3DRender::QParameter *> QTechnique::parameters() const
Gibt einen Vektor mit den aktuellen Parametern der Technik zurück
void QTechnique::removeFilterKey(Qt3DRender::QFilterKey *filterKey)
Entfernt „ filterKey “ aus den lokalen Filterschlüsseln „ Qt3DRender::QTechnique “.
void QTechnique::removeParameter(Qt3DRender::QParameter *parameter)
Entfernen Sie „ parameter “ aus den Parametern der Technik.
void QTechnique::removeRenderPass(Qt3DRender::QRenderPass *pass)
Entfernt einen „ pass “ aus der Technik.
QList<Qt3DRender::QRenderPass *> QTechnique::renderPasses() const
Gibt die Liste der in der Technik enthaltenen Render-Durchgänge 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.