Auf dieser Seite

Qt3DRender::QTechnique Class

class Qt3DRender::QTechnique

Kapseln 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

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