QTechnique Class
class Qt3DRender::QTechniqueKapselt 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
- 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 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.