Sur cette page

QSGMaterialShader::GraphicsPipelineState Struct

struct QSGMaterialShader::GraphicsPipelineState

Dé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

ConstanteValeur
QSGMaterialShader::GraphicsPipelineState::Zero0
QSGMaterialShader::GraphicsPipelineState::One1
QSGMaterialShader::GraphicsPipelineState::SrcColor2
QSGMaterialShader::GraphicsPipelineState::OneMinusSrcColor3
QSGMaterialShader::GraphicsPipelineState::DstColor4
QSGMaterialShader::GraphicsPipelineState::OneMinusDstColor5
QSGMaterialShader::GraphicsPipelineState::SrcAlpha6
QSGMaterialShader::GraphicsPipelineState::OneMinusSrcAlpha7
QSGMaterialShader::GraphicsPipelineState::DstAlpha8
QSGMaterialShader::GraphicsPipelineState::OneMinusDstAlpha9
QSGMaterialShader::GraphicsPipelineState::ConstantColor10
QSGMaterialShader::GraphicsPipelineState::OneMinusConstantColor11
QSGMaterialShader::GraphicsPipelineState::ConstantAlpha12
QSGMaterialShader::GraphicsPipelineState::OneMinusConstantAlpha13
QSGMaterialShader::GraphicsPipelineState::SrcAlphaSaturate14
QSGMaterialShader::GraphicsPipelineState::Src1Color15
QSGMaterialShader::GraphicsPipelineState::OneMinusSrc1Color16
QSGMaterialShader::GraphicsPipelineState::Src1Alpha17
QSGMaterialShader::GraphicsPipelineState::OneMinusSrc1Alpha18

[since 6.8] enum class GraphicsPipelineState::BlendOp

ConstanteValeur
QSGMaterialShader::GraphicsPipelineState::BlendOp::Add0
QSGMaterialShader::GraphicsPipelineState::BlendOp::Subtract1
QSGMaterialShader::GraphicsPipelineState::BlendOp::ReverseSubtract2
QSGMaterialShader::GraphicsPipelineState::BlendOp::Min3
QSGMaterialShader::GraphicsPipelineState::BlendOp::Max4

Cette énumération a été introduite dans Qt 6.8.

enum GraphicsPipelineState::ColorMaskComponent
flags GraphicsPipelineState::ColorMask

ConstanteValeur
QSGMaterialShader::GraphicsPipelineState::R1 << 0
QSGMaterialShader::GraphicsPipelineState::G1 << 1
QSGMaterialShader::GraphicsPipelineState::B1 << 2
QSGMaterialShader::GraphicsPipelineState::A1 << 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

ConstanteValeur
QSGMaterialShader::GraphicsPipelineState::CullNone0
QSGMaterialShader::GraphicsPipelineState::CullFront1
QSGMaterialShader::GraphicsPipelineState::CullBack2

[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.

ConstanteValeurDescription
QSGMaterialShader::GraphicsPipelineState::Fill0L’intérieur du polygone est rempli (par défaut)
QSGMaterialShader::GraphicsPipelineState::Line1Les 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.