Qt3DRender::QTechnique Class
class Qt3DRender::QTechniqueEncapsule une technique. En savoir plus...
| En-tête : | #include <qtechnique.h> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake : | QT += 3drender |
| En QML : | Technique |
| Hérite de : | Qt3DCore::QNode |
| Statut : | Obsolète |
Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.
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 objet « Qt3DRender::QTechnique » spécifie un ensemble d’objets « Qt3DRender::QRenderPass », « Qt3DRender::QFilterKey », « Qt3DRender::QParameter » et un « Qt3DRender::QGraphicsApiFilter », qui, ensemble, définissent une technique de rendu que l’API graphique donnée est capable de mettre en œuvre. Les clés de filtre sont utilisées par Qt3DRender::QTechniqueFilter pour sélectionner des techniques spécifiques à des parties spécifiques du FrameGraph. Un QParameter défini sur un nœud QTechnique remplace le paramètre (du même nom) défini dans QRenderPass, mais est lui-même remplacé par le paramètre défini dans QRenderPassFilter, QTechniqueFilter, QMaterial et QEffect.
Lors de la création d’une technique de rendu ( QEffect ) ciblant plusieurs versions d’une API graphique, il est utile de créer plusieurs nœuds QTechnique, chacun avec un paramètre « 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 fonction des versions d’API graphiques prises en charge et (si spécifié) des nœuds « QFilterKey » qui satisfont une QTechniqueFilter donnée dans le FrameGraph.
Remarque : lorsque OpenGL est utilisé comme API graphique pour le rendu, Qt3D s’appuie sur la QSurfaceFormat renvoyée par QSurfaceFormat::defaultFormat() lors de l’exécution pour déterminer quelle est la version GL disponible la plus appropriée. Si vous devez personnaliser l’ QSurfaceFormat, n’oubliez pas de l’appliquer via QSurfaceFormat::setDefaultFormat(). La définition de l’ 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 sur les fonctions membres
void QTechnique::addFilterKey(Qt3DRender::QFilterKey *filterKey)
Ajoutez « filterKey » aux clés de filtre locales « Qt3DRender::QTechnique ».
void QTechnique::addParameter(Qt3DRender::QParameter *parameter)
Ajoutez « parameter » aux paramètres de la technique.
void QTechnique::addRenderPass(Qt3DRender::QRenderPass *pass)
Ajoute une « pass » à la technique.
QList<Qt3DRender::QFilterKey *> QTechnique::filterKeys() const
Renvoie la liste des objets clé de type Qt3DCore::QFilterKey constituant les clés de filtre de l'Qt3DRender::QTechnique.
QList<Qt3DRender::QParameter *> QTechnique::parameters() const
Renvoie un vecteur contenant les paramètres actuels de la technique
void QTechnique::removeFilterKey(Qt3DRender::QFilterKey *filterKey)
Supprime « filterKey » des clés de filtre locales « Qt3DRender::QTechnique ».
void QTechnique::removeParameter(Qt3DRender::QParameter *parameter)
Supprimez « 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.