QSGMaterialShader::GraphicsPipelineState Struct
struct QSGMaterialShader::GraphicsPipelineStateDécrit les changements d'état que le matériel souhaite appliquer à l'état du pipeline graphique actuellement actif. Plus d'informations...
Types publics
| enum | BlendFactor { Zero, One, SrcColor, OneMinusSrcColor, DstColor, …, OneMinusSrc1Alpha } |
(since 6.8) enum class | BlendOp { Add, Subtract, ReverseSubtract, Min, Max } |
| flags | ColorMask |
| enum | ColorMaskComponent { R, G, B, A } |
| enum | CullMode { CullNone, CullFront, CullBack } |
(since 6.4) enum | PolygonMode { Fill, Line } |
Variables publiques
| QColor | blendConstant |
| bool | blendEnable |
| QSGMaterialShader::GraphicsPipelineState::ColorMask | colorWrite |
| QSGMaterialShader::GraphicsPipelineState::CullMode | cullMode |
(since 6.5) QSGMaterialShader::GraphicsPipelineState::BlendFactor | dstAlpha |
| QSGMaterialShader::GraphicsPipelineState::BlendFactor | dstColor |
(since 6.8) QSGMaterialShader::GraphicsPipelineState::BlendOp | opAlpha |
(since 6.8) QSGMaterialShader::GraphicsPipelineState::BlendOp | opColor |
(since 6.4) QSGMaterialShader::GraphicsPipelineState::PolygonMode | polygonMode |
(since 6.5) bool | separateBlendFactors |
(since 6.5) QSGMaterialShader::GraphicsPipelineState::BlendFactor | srcAlpha |
| QSGMaterialShader::GraphicsPipelineState::BlendFactor | srcColor |
Description détaillée
Contrairement à QSGMaterialShader, l'émission directe de commandes de changement d'état avec l'API graphique sous-jacente n'est pas possible avec QSGMaterialShader. Cela s'explique principalement par le fait que le concept d'états modifiables individuellement est considéré comme obsolète et n'est pas pris en charge par les API graphiques modernes.
Il appartient donc à QSGMaterialShader d'exposer une structure de données contenant l'ensemble des états pris en charge, que le matériau peut modifier dans son implémentation updatePipelineState(), s'il y en a une. Le graphe de scène appliquera alors en interne ces changements à l'état actif du pipeline graphique, puis les annulera le cas échéant.
Lorsque updateGraphicsPipelineState() est appelé, la structure a tous les membres définis à une valeur valide pour refléter l'état actuel du moteur de rendu. Le fait de ne modifier aucune valeur (ou de ne pas réimplémenter la fonction) indique que le matériau est compatible avec les valeurs par défaut (qui sont toutefois dynamiques, en fonction des drapeaux QSGMaterial, par exemple).
Documentation sur les types de membres
enum GraphicsPipelineState::BlendFactor
| Constante | Valeur |
|---|---|
QSGMaterialShader::GraphicsPipelineState::Zero | 0 |
QSGMaterialShader::GraphicsPipelineState::One | 1 |
QSGMaterialShader::GraphicsPipelineState::SrcColor | 2 |
QSGMaterialShader::GraphicsPipelineState::OneMinusSrcColor | 3 |
QSGMaterialShader::GraphicsPipelineState::DstColor | 4 |
QSGMaterialShader::GraphicsPipelineState::OneMinusDstColor | 5 |
QSGMaterialShader::GraphicsPipelineState::SrcAlpha | 6 |
QSGMaterialShader::GraphicsPipelineState::OneMinusSrcAlpha | 7 |
QSGMaterialShader::GraphicsPipelineState::DstAlpha | 8 |
QSGMaterialShader::GraphicsPipelineState::OneMinusDstAlpha | 9 |
QSGMaterialShader::GraphicsPipelineState::ConstantColor | 10 |
QSGMaterialShader::GraphicsPipelineState::OneMinusConstantColor | 11 |
QSGMaterialShader::GraphicsPipelineState::ConstantAlpha | 12 |
QSGMaterialShader::GraphicsPipelineState::OneMinusConstantAlpha | 13 |
QSGMaterialShader::GraphicsPipelineState::SrcAlphaSaturate | 14 |
QSGMaterialShader::GraphicsPipelineState::Src1Color | 15 |
QSGMaterialShader::GraphicsPipelineState::OneMinusSrc1Color | 16 |
QSGMaterialShader::GraphicsPipelineState::Src1Alpha | 17 |
QSGMaterialShader::GraphicsPipelineState::OneMinusSrc1Alpha | 18 |
[since 6.8] enum class GraphicsPipelineState::BlendOp
| Constante | Valeur |
|---|---|
QSGMaterialShader::GraphicsPipelineState::BlendOp::Add | 0 |
QSGMaterialShader::GraphicsPipelineState::BlendOp::Subtract | 1 |
QSGMaterialShader::GraphicsPipelineState::BlendOp::ReverseSubtract | 2 |
QSGMaterialShader::GraphicsPipelineState::BlendOp::Min | 3 |
QSGMaterialShader::GraphicsPipelineState::BlendOp::Max | 4 |
Cette énumération a été introduite dans Qt 6.8.
enum GraphicsPipelineState::ColorMaskComponent
flags GraphicsPipelineState::ColorMask
| Constante | Valeur |
|---|---|
QSGMaterialShader::GraphicsPipelineState::R | 1 << 0 |
QSGMaterialShader::GraphicsPipelineState::G | 1 << 1 |
QSGMaterialShader::GraphicsPipelineState::B | 1 << 2 |
QSGMaterialShader::GraphicsPipelineState::A | 1 << 3 |
Le type ColorMask est un typedef pour QFlags<ColorMaskComponent>. Il stocke une combinaison OU de valeurs ColorMaskComponent.
enum GraphicsPipelineState::CullMode
| Constante | Valeur |
|---|---|
QSGMaterialShader::GraphicsPipelineState::CullNone | 0 |
QSGMaterialShader::GraphicsPipelineState::CullFront | 1 |
QSGMaterialShader::GraphicsPipelineState::CullBack | 2 |
[since 6.4] enum GraphicsPipelineState::PolygonMode
Spécifie le mode de tramage des polygones
Polygon Mode (Triangle Fill Mode dans Metal, Fill Mode dans D3D) spécifie le mode de remplissage utilisé lors du tramage des polygones. Les polygones peuvent être dessinés comme des solides (Fill) ou comme un maillage de fils (Line).
Attention : OpenGL ES ne supporte pas le mode polygone Line. OpenGL ES tramera tous les polygones comme étant remplis, quel que soit le mode de polygone défini. L'utilisation de Line rendra votre application non portable.
| Constante | Valeur | Description |
|---|---|---|
QSGMaterialShader::GraphicsPipelineState::Fill | 0 | L'intérieur du polygone est rempli (par défaut) |
QSGMaterialShader::GraphicsPipelineState::Line | 1 | Les bords du polygone sont dessinés comme des segments de ligne. |
Cette énumération a été introduite dans Qt 6.4.
Documentation des variables membres
QColor GraphicsPipelineState::blendConstant
Constante de mélange applicable lorsqu'un facteur de mélange est défini pour utiliser une valeur constante.
bool GraphicsPipelineState::blendEnable
Active le mélange.
Remarque : la modification de cet indicateur doit être effectuée avec précaution et il est préférable de l'éviter. Les matériaux doivent toujours utiliser l'indicateur QSGMaterial::Blend pour indiquer qu'ils souhaitent utiliser le mélange. Changer cette valeur de false à true pour un matériau qui n'a pas déclaré QSGMaterial::Blend peut conduire à des résultats visuels inattendus.
QSGMaterialShader::GraphicsPipelineState::ColorMask GraphicsPipelineState::colorWrite
Masque d'écriture de couleur.
QSGMaterialShader::GraphicsPipelineState::CullMode GraphicsPipelineState::cullMode
Mode d'abattage.
[since 6.5] QSGMaterialShader::GraphicsPipelineState::BlendFactor GraphicsPipelineState::dstAlpha
Facteur de mélange alpha de destination.
S'applique uniquement lorsque separateBlendFactors a la valeur true.
Cette variable a été introduite dans Qt 6.5.
QSGMaterialShader::GraphicsPipelineState::BlendFactor GraphicsPipelineState::dstColor
Facteur de mélange de destination, soit RGB soit RGBA selon separateBlendFactors.
[since 6.8] QSGMaterialShader::GraphicsPipelineState::BlendOp GraphicsPipelineState::opAlpha
Opération de mélange alpha.
Cette variable a été introduite dans Qt 6.8.
[since 6.8] QSGMaterialShader::GraphicsPipelineState::BlendOp GraphicsPipelineState::opColor
Opération de mélange RVB.
Cette variable a été introduite dans Qt 6.8.
[since 6.4] QSGMaterialShader::GraphicsPipelineState::PolygonMode GraphicsPipelineState::polygonMode
Mode de rastérisation des polygones.
Cette variable a été introduite dans Qt 6.4.
[since 6.5] bool GraphicsPipelineState::separateBlendFactors
Indique que les facteurs de fusion alpha sont spécifiés séparément.
Faux par défaut, ce qui signifie que les facteurs de fusion RVB et alpha sont définis par srcColor et dstColor. Lorsqu'elle est définie à true, les facteurs d'alpha blending sont tirés de srcAlpha et dstAlpha, et srcColor et dstColor ne s'appliquent qu'à RGB.
Cette variable a été introduite dans Qt 6.5.
[since 6.5] QSGMaterialShader::GraphicsPipelineState::BlendFactor GraphicsPipelineState::srcAlpha
Facteur de mélange alpha de la source.
S'applique uniquement lorsque separateBlendFactors a la valeur true.
Cette variable a été introduite dans Qt 6.5.
QSGMaterialShader::GraphicsPipelineState::BlendFactor GraphicsPipelineState::srcColor
Facteur de mélange de la source, soit RGB ou RGBA selon separateBlendFactors.
© 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.