QSGMaterialShader::GraphicsPipelineState Struct
struct QSGMaterialShader::GraphicsPipelineStateBeschreibt Zustandsänderungen, die das Material auf den aktuell aktiven Zustand der Grafik-Pipeline anwenden möchte. Mehr...
Öffentliche Typen
| 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 } |
Öffentliche Variablen
| 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 |
Ausführliche Beschreibung
Im Gegensatz zu ` QSGMaterialShader` ist es bei ` QSGMaterialShader` nicht möglich, Zustandsänderungsbefehle direkt über die zugrunde liegende Grafik-API auszuführen. Dies liegt vor allem daran, dass das Konzept individuell veränderbarer Zustände als veraltet gilt und von modernen Grafik-APIs nicht mehr unterstützt wird.
Daher ist es Aufgabe von ` QSGMaterialShader `, eine Datenstruktur mit den unterstützten Zuständen bereitzustellen, die das Material in seiner Implementierung von `updatePipelineState()` ändern kann, sofern eine solche vorhanden ist. Der Szenengrafik-Baum wendet diese Änderungen dann intern auf den aktiven Zustand der Grafik-Pipeline an und macht sie gegebenenfalls wieder rückgängig.
Wenn ` updateGraphicsPipelineState()` aufgerufen wird, sind alle Elemente der Struktur auf einen gültigen Wert gesetzt, der den aktuellen Zustand des Renderers widerspiegelt. Werden keine Werte geändert (oder die Funktion nicht neu implementiert), bedeutet dies, dass das Material mit den Standardwerten einverstanden ist (die jedoch dynamisch sind und beispielsweise von den Flags unter ` QSGMaterial ` abhängen).
Dokumentation zu den Elementtypen
enum GraphicsPipelineState::BlendFactor
| Konstante | Wert |
|---|---|
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
| Konstante | Wert |
|---|---|
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 |
Diese Enumeration wurde in Qt 6.8 eingeführt.
enum GraphicsPipelineState::ColorMaskComponent
flags GraphicsPipelineState::ColorMask
| Konstante | Wert |
|---|---|
QSGMaterialShader::GraphicsPipelineState::R | 1 << 0 |
QSGMaterialShader::GraphicsPipelineState::G | 1 << 1 |
QSGMaterialShader::GraphicsPipelineState::B | 1 << 2 |
QSGMaterialShader::GraphicsPipelineState::A | 1 << 3 |
Der Typ „ColorMask“ ist ein typedef für QFlags<ColorMaskComponent>. Er speichert eine ODER-Kombination von ColorMaskComponent-Werten.
enum GraphicsPipelineState::CullMode
| Konstante | Wert |
|---|---|
QSGMaterialShader::GraphicsPipelineState::CullNone | 0 |
QSGMaterialShader::GraphicsPipelineState::CullFront | 1 |
QSGMaterialShader::GraphicsPipelineState::CullBack | 2 |
[since 6.4] enum GraphicsPipelineState::PolygonMode
Legt den Rasterisierungsmodus für Polygone fest
Der Polygonmodus (Triangle Fill Mode in Metal, Fill Mode in D3D) legt den Füllmodus fest, der bei der Rasterung von Polygonen verwendet wird. Polygone können als ausgefüllte Flächen (Fill) oder als Drahtgitter (Line) gezeichnet werden.
Warnung: OpenGL ES unterstützt den Polygonmodus „ Line “ nicht. OpenGL ES rasterisiert alle Polygone als ausgefüllt, unabhängig davon, welcher Polygonmodus eingestellt ist. Die Verwendung von „ Line “ macht Ihre Anwendung nicht portierbar.
| Konstante | Wert | Beschreibung |
|---|---|---|
QSGMaterialShader::GraphicsPipelineState::Fill | 0 | Der Innenbereich des Polygons wird gefüllt (Standard) |
QSGMaterialShader::GraphicsPipelineState::Line | 1 | Die Begrenzungskanten des Polygons werden als Liniensegmente gezeichnet. |
Diese Enumeration wurde in Qt 6.4 eingeführt.
Dokumentation der Member-Variablen
QColor GraphicsPipelineState::blendConstant
Mischkonstante, die gilt, wenn für einen Mischfaktor ein konstanter Wert festgelegt wurde.
bool GraphicsPipelineState::blendEnable
Aktiviert das Überblenden.
Hinweis: Die Änderung dieses Flags sollte mit Bedacht erfolgen und am besten vermieden werden. Stattdessen sollten Materialien stets das Flag QSGMaterial::Blend verwenden, um anzugeben, dass sie das Überblenden nutzen möchten. Die Änderung dieses Werts von „false“ auf „true“ bei einem Material, das QSGMaterial::Blend nicht deklariert hat, kann zu unerwarteten visuellen Ergebnissen führen.
QSGMaterialShader::GraphicsPipelineState::ColorMask GraphicsPipelineState::colorWrite
Farb-Schreibmaske.
QSGMaterialShader::GraphicsPipelineState::CullMode GraphicsPipelineState::cullMode
Auslesemodus.
[since 6.5] QSGMaterialShader::GraphicsPipelineState::BlendFactor GraphicsPipelineState::dstAlpha
Ziel-Alpha-Mischfaktor.
Gilt nur, wenn „ separateBlendFactors “ auf „true“ gesetzt ist.
Diese Variable wurde in Qt 6.5 eingeführt.
QSGMaterialShader::GraphicsPipelineState::BlendFactor GraphicsPipelineState::dstColor
Ziel-Mischfaktor, entweder RGB oder RGBA, abhängig von separateBlendFactors.
[since 6.8] QSGMaterialShader::GraphicsPipelineState::BlendOp GraphicsPipelineState::opAlpha
Alpha-Blending-Operation.
Diese Variable wurde in Qt 6.8 eingeführt.
[since 6.8] QSGMaterialShader::GraphicsPipelineState::BlendOp GraphicsPipelineState::opColor
RGB-Mischoperation.
Diese Variable wurde in Qt 6.8 eingeführt.
[since 6.4] QSGMaterialShader::GraphicsPipelineState::PolygonMode GraphicsPipelineState::polygonMode
Polygon-Rasterisierungsmodus.
Diese Variable wurde in Qt 6.4 eingeführt.
[since 6.5] bool GraphicsPipelineState::separateBlendFactors
Gibt an, dass die Alpha-Blending-Faktoren separat festgelegt werden.
Standardmäßig auf „false“ gesetzt, was bedeutet, dass sowohl die RGB- als auch die Alpha-Blending-Faktoren durch srcColor und dstColor definiert werden. Bei der Einstellung „true“ werden die Alpha-Blending-Faktoren stattdessen aus srcAlpha und dstAlpha übernommen, und srcColor sowie dstColor gelten nur für RGB.
Diese Variable wurde in Qt 6.5 eingeführt.
[since 6.5] QSGMaterialShader::GraphicsPipelineState::BlendFactor GraphicsPipelineState::srcAlpha
Alpha-Mischfaktor für die Quelle.
Gilt nur, wenn „ separateBlendFactors “ auf „true“ gesetzt ist.
Diese Variable wurde in Qt 6.5 eingeführt.
QSGMaterialShader::GraphicsPipelineState::BlendFactor GraphicsPipelineState::srcColor
Quellmischfaktor, entweder RGB oder RGBA, abhängig von 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.