QTechnique Class

class Qt3DRender::QTechnique

Kapselt eine Technik. Mehr...

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

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 spezifiziert einen Satz von Qt3DRender::QRenderPass Objekten, Qt3DRender::QFilterKey Objekten, Qt3DRender::QParameter Objekten und einem Qt3DRender::QGraphicsApiFilter, die zusammen eine Rendering-Technik definieren, die die gegebene Grafik-API rendern kann. Die Filterschlüssel werden von Qt3DRender::QTechniqueFilter verwendet, um bestimmte Techniken an bestimmten Stellen des FrameGraphs auszuwählen. Ein QParameter, das auf einer QTechnique definiert ist, überschreibt Parameter (gleichen Namens), die in QRenderPass definiert sind, aber durch Parameter in QRenderPassFilter, QTechniqueFilter, QMaterial und QEffect überschrieben werden.

Wenn Sie eine QEffect erstellen, die auf mehrere Versionen einer Grafik-API abzielt, ist es sinnvoll, mehrere QTechnique-Knoten zu erstellen, von denen jeder einen graphicsApiFilter hat, der einer der anvisierten 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) die QFilterKey -Knoten, die eine bestimmte QTechniqueFilter im FrameGraph erfüllen.

Hinweis: Wenn OpenGL als Grafik-API für das Rendering verwendet wird, verlässt sich Qt3D auf die QSurfaceFormat, die von QSurfaceFormat::defaultFormat() zur Laufzeit zurückgegeben wird, um zu entscheiden, welche die geeignetste verfügbare GL-Version ist. Wenn Sie die QSurfaceFormat anpassen müssen, vergessen Sie nicht, sie mit QSurfaceFormat::setDefaultFormat() anzuwenden. Das Einstellen von QSurfaceFormat auf der Ansicht wird wahrscheinlich keine Auswirkungen auf das Qt3D-bezogene Rendering haben.

Hinweis: Der QTechnique-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 der Eigenschaften

[read-only] graphicsApiFilter : Qt3DRender::QGraphicsApiFilter* const

Gibt den verwendeten Grafik-API-Filter an

Zugriffsfunktionen:

Qt3DRender::QGraphicsApiFilter *graphicsApiFilter()
const Qt3DRender::QGraphicsApiFilter *graphicsApiFilter() const

Dokumentation der Mitgliedsfunktionen

void QTechnique::addFilterKey(Qt3DRender::QFilterKey *filterKey)

Fügen Sie filterKey zu den lokalen Filterschlüsseln von 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)

Hängt eine pass an die Technik an.

QList<Qt3DRender::QFilterKey *> QTechnique::filterKeys() const

Gibt die Liste der Qt3DCore::QFilterKey-Schlüsselobjekte zurück, aus denen die Filterschlüssel des Qt3DRender::QTechnique bestehen.

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

Gibt einen Vektor mit den aktuellen Parametern der Techniken 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 eine pass aus der Technik.

QList<Qt3DRender::QRenderPass *> QTechnique::renderPasses() const

Gibt die Liste der in der Technik enthaltenen Rendering-Passes 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.