QSGGeometryNode Class
La classe `QSGGeometryNode` est utilisée pour l'ensemble du contenu affiché dans le graphe de scène. En savoir plus...
| En-tête : | #include <QSGGeometryNode> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Quick) target_link_libraries(mytarget PRIVATE Qt6::Quick) |
| qmake : | QT += quick |
| Hérite de : | QSGBasicGeometryNode |
| Hérité par : | QSGImageNode, QSGRectangleNode, QSGSimpleRectNode, et QSGSimpleTextureNode |
- Liste de tous les membres, y compris les membres hérités
- QSGGeometryNode fait partie des classes de nœuds de graphe de scène d'Qt Quick .
Fonctions publiques
| QSGGeometryNode() | |
| virtual | ~QSGGeometryNode() override |
| QSGMaterial * | material() const |
| QSGMaterial * | opaqueMaterial() const |
| void | setMaterial(QSGMaterial *material) |
| void | setOpaqueMaterial(QSGMaterial *material) |
Description détaillée
Le QSGGeometryNode se compose d’une géométrie et d’un matériau. La géométrie définit le maillage, les sommets et leur structure à dessiner. Le matériau définit la manière dont la forme est remplie.
Voici un extrait de code illustrant comment créer une ligne rouge à l’aide d’un QSGGeometryNode :
QSGGeometry *geometry = new QSGGeometry(QSGGeometry::defaultAttributes_Point2D(), 2);
geometry->setDrawingMode(QSGGeometry::DrawLines);
geometry->setLineWidth(3);
geometry->vertexDataAsPoint2D()[0].set(0, 0);
geometry->vertexDataAsPoint2D()[1].set(width(), height());
QSGFlatColorMaterial *material = new QSGFlatColorMaterial;
material->setColor(QColor(255, 0, 0));
QSGGeometryNode *node = new QSGGeometryNode;
node->setGeometry(geometry);
node->setFlag(QSGNode::OwnsGeometry);
node->setMaterial(material);
node->setFlag(QSGNode::OwnsMaterial);Un nœud de géométrie doit disposer à la fois d’une géométrie et d’un matériau normal avant d’être ajouté au graphe de scène. Lorsque la géométrie et les matériaux sont modifiés après l’ajout du nœud au graphe de scène, l’utilisateur doit également les marquer comme modifiés à l’aide de la fonction QSGNode::markDirty().
Le nœud de géométrie prend en charge deux types de matériaux : le matériau « opaqueMaterial » et le matériau normal. Le matériau « opaqueMaterial » est utilisé lorsque l’opacité cumulée de l’arbre de scène au moment du rendu est égale à 1. Son principal cas d’utilisation consiste à traiter le rendu opaque comme un cas particulier afin d’éviter qu’une opération supplémentaire dans le shader de fragment n’ait un impact significatif sur les performances des puces graphiques embarquées. Le matériau opaque est facultatif.
Remarque : toutes les classes préfixées par « QSG » doivent être utilisées exclusivement sur le thread de rendu du graphe de scène. Voir Graphe de scène et rendu pour plus d’informations.
Voir également QSGGeometry et QSGMaterial.
Documentation des fonctions membres
QSGGeometryNode::QSGGeometryNode()
Crée un nouveau nœud de géométrie sans géométrie ni matériau.
[override virtual noexcept] QSGGeometryNode::~QSGGeometryNode()
Supprime ce nœud de géométrie.
Les indicateurs QSGNode::OwnsMaterial, QSGNode::OwnsOpaqueMaterial et QSGNode::OwnsGeometry déterminent si le nœud de géométrie doit également supprimer les matériaux et la géométrie. Par défaut, ces indicateurs sont désactivés.
QSGMaterial *QSGGeometryNode::material() const
Renvoie le matériau de l’ QSGGeometryNode.
Voir aussi setMaterial().
QSGMaterial *QSGGeometryNode::opaqueMaterial() const
Renvoie le matériau opaque de l'QSGGeometryNode.
Voir aussi setOpaqueMaterial().
void QSGGeometryNode::setMaterial(QSGMaterial *material)
Définit le matériau de ce nœud de géométrie sur « material ».
Les nœuds de géométrie doivent disposer d’un matériau avant de pouvoir être ajoutés à l’arborescence de scène.
Si le matériau est modifié sans appeler à nouveau la fonction setMaterial(), l’utilisateur doit également marquer le matériau comme modifié à l’aide de la fonction QSGNode::markDirty().
Voir également material().
void QSGGeometryNode::setOpaqueMaterial(QSGMaterial *material)
Définit le matériau opaque de cette géométrie sur material.
Le moteur de rendu privilégiera le matériau opaque au détriment du matériau par défaut, tel que renvoyé par la fonction material(), s’il n’est pas nul et si l’élément de géométrie possède une opacité héritée de 1.
L’opacité fait référence à celle du graphe de scène ; le matériau peut toujours définir QSGMaterial::Blending sur true et dessiner des pixels transparents.
Si le matériau est modifié sans appeler à nouveau setOpaqueMaterial(), l’utilisateur doit également marquer le matériau opaque comme « sale » à l’aide de QSGNode::markDirty().
Voir également opaqueMaterial().
© 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.