QSGMaterialShader::GraphicsPipelineState Struct
struct QSGMaterialShader::GraphicsPipelineStateDécrit les modifications d'état que le matériau souhaite appliquer à l'état actuel du pipeline graphique. En savoir plus…
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`, il n’est pas possible, avec ` QSGMaterialShader`, d’émettre directement des commandes de modification d’état via l’API graphique sous-jacente. 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 de `updatePipelineState()`, le cas échéant. Le graphe de scène appliquera alors en interne ces modifications à l’état actif du pipeline graphique, puis les annulera si nécessaire.
Lorsque la fonction ` updateGraphicsPipelineState()` est appelée, tous les membres de la structure sont définis sur une valeur valide reflétant l’état actuel du moteur de rendu. Ne modifier aucune valeur (ou ne pas réimplémenter la fonction) indique que le matériau accepte les valeurs par défaut (qui sont toutefois dynamiques, en fonction des indicateurs d’ QSGMaterial, par exemple).
Documentation sur les types des 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 une définition de type (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
Définit le mode de rastérisation des polygones
Le mode polygone (mode « Triangle Fill » dans Metal, mode « Fill » dans D3D) spécifie le mode de remplissage utilisé lors de la rastérisation des polygones. Les polygones peuvent être dessinés sous forme de solides (Fill) ou de fil de fer (Line).
Avertissement : OpenGL ES ne prend pas en charge le mode « Line ». OpenGL ES rasterisera tous les polygones en mode «Fill», 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 contours du polygone sont dessinés sous forme de 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 la fusion.
Remarque : la modification de cet indicateur doit être effectuée avec précaution, et il est préférable de l’éviter. Il est préférable que les matériaux utilisent toujours 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 entraîner des résultats visuels inattendus.
QSGMaterialShader::GraphicsPipelineState::ColorMask GraphicsPipelineState::colorWrite
Masque d'écriture des couleurs.
QSGMaterialShader::GraphicsPipelineState::CullMode GraphicsPipelineState::cullMode
Mode « Cull ».
[since 6.5] QSGMaterialShader::GraphicsPipelineState::BlendFactor GraphicsPipelineState::dstAlpha
Facteur de mélange alpha de destination.
S'applique uniquement lorsque la propriété « separateBlendFactors » est définie sur « true ».
Cette variable a été introduite dans Qt 6.5.
QSGMaterialShader::GraphicsPipelineState::BlendFactor GraphicsPipelineState::dstColor
Facteur de fusion de destination : RVB ou RGBA, selon separateBlendFactors.
[since 6.8] QSGMaterialShader::GraphicsPipelineState::BlendOp GraphicsPipelineState::opAlpha
Opération de fusion alpha.
Cette variable a été introduite dans Qt 6.8.
[since 6.8] QSGMaterialShader::GraphicsPipelineState::BlendOp GraphicsPipelineState::opColor
Opération de fusion 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.
Valeur par défaut : false, ce qui signifie que les facteurs de mélange RVB et alpha sont définis par srcColor et dstColor. Lorsque cette variable est définie sur true, les facteurs de mélange alpha sont plutôt extraits de srcAlpha et dstAlpha, et srcColor et dstColor s’appliquent uniquement au RVB.
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 la propriété « separateBlendFactors » est définie sur « true ».
Cette variable a été introduite dans Qt 6.5.
QSGMaterialShader::GraphicsPipelineState::BlendFactor GraphicsPipelineState::srcColor
Facteur de fusion de la source : RVB 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.