Qt3DRender::QTechnique Class
class Qt3DRender::QTechniqueEncapsule une technique. Plus...
| En-tête : | #include <QTechnique> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS 3drender)target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake : | QT += 3drender |
| En QML : | Technique |
| Hérite : | Qt3DCore::QNode |
| Statut : | Déclassé |
Propriétés
- graphicsApiFilter : Qt3DRender::QGraphicsApiFilter* const
Fonctions publiques
| 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 |
Description détaillée
Un site Qt3DRender::QTechnique spécifie un ensemble d'objets Qt3DRender::QRenderPass, d'objets Qt3DRender::QFilterKey, d'objets Qt3DRender::QParameter et d'objets Qt3DRender::QGraphicsApiFilter qui, ensemble, définissent une technique de rendu que l'API graphique donnée peut effectuer. Les clés de filtrage sont utilisées par Qt3DRender::QTechniqueFilter pour sélectionner des techniques spécifiques dans des parties spécifiques du FrameGraph. Un QParameter défini sur une QTechnique remplace les paramètres (du même nom) définis dans QRenderPass, mais ils sont remplacés par des paramètres dans QRenderPassFilter, QTechniqueFilter, QMaterial et QEffect.
Lors de la création d'un site QEffect qui cible plusieurs versions d'une API graphique, il est utile de créer plusieurs nœuds QTechnique, chacun ayant un graphicsApiFilter défini pour correspondre à l'une des versions GL ciblées. Au moment de l'exécution, le moteur de rendu Qt3D sélectionnera la QTechnique la plus appropriée en se basant sur les versions de l'API graphique qui sont supportées et (si spécifié) les nœuds QFilterKey qui satisfont une QTechniqueFilter donnée dans le FrameGraph.
Note : Lors de l'utilisation d'OpenGL comme API graphique pour le rendu, Qt3D s'appuie sur QSurfaceFormat retourné par QSurfaceFormat::defaultFormat() à l'exécution pour décider quelle est la version GL disponible la plus appropriée. Si vous avez besoin de personnaliser le QSurfaceFormat, n'oubliez pas de l'appliquer avec QSurfaceFormat::setDefaultFormat(). Définir QSurfaceFormat sur la vue n'aura probablement aucun effet sur le rendu lié à Qt3D.
Remarque : le nœud QTechnique ne peut pas être désactivé.
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);
Voir également QEffect, QRenderPass, et QTechniqueFilter.
Documentation sur les propriétés
[read-only] graphicsApiFilter : Qt3DRender::QGraphicsApiFilter* const
Spécifie le filtre de l'API graphique utilisé
Fonctions d'accès :
| Qt3DRender::QGraphicsApiFilter * | graphicsApiFilter() |
| const Qt3DRender::QGraphicsApiFilter * | graphicsApiFilter() const |
Documentation des fonctions membres
void QTechnique::addFilterKey(Qt3DRender::QFilterKey *filterKey)
Ajouter filterKey aux clés de filtrage local Qt3DRender::QTechnique.
void QTechnique::addParameter(Qt3DRender::QParameter *parameter)
Ajouter parameter aux paramètres de la technique.
void QTechnique::addRenderPass(Qt3DRender::QRenderPass *pass)
Ajoute une adresse pass à la technique.
QList<Qt3DRender::QFilterKey *> QTechnique::filterKeys() const
Retourne la liste des objets clés Qt3DCore::QFilterKey constituant les clés de filtrage de Qt3DRender::QTechnique.
QList<Qt3DRender::QParameter *> QTechnique::parameters() const
Renvoie un vecteur des paramètres actuels des techniques
void QTechnique::removeFilterKey(Qt3DRender::QFilterKey *filterKey)
Supprime filterKey des clés de filtrage local Qt3DRender::QTechnique.
void QTechnique::removeParameter(Qt3DRender::QParameter *parameter)
Supprimer parameter des paramètres de la technique.
void QTechnique::removeRenderPass(Qt3DRender::QRenderPass *pass)
Supprime une pass de la technique.
QList<Qt3DRender::QRenderPass *> QTechnique::renderPasses() const
Renvoie la liste des passes de rendu contenues dans la technique.
© 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.