QSGMaterialShader::GraphicsPipelineState Struct
struct QSGMaterialShader::GraphicsPipelineStateこのマテリアルが、現在アクティブなグラフィックスパイプラインの状態に適用しようとする状態の変更について説明します。詳細...
パブリック型
| 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 } |
パブリック変数
| 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 |
詳細な説明
QSGMaterialShader とは異なり、QSGMaterialShader では、基盤となるグラフィックスAPIを使用して状態変更コマンドを直接発行することはできません。これは主に、個別に変更可能な状態という概念が非推奨と見なされており、最新のグラフィックスAPIではサポートされていないためです。
したがって、サポートされている状態のセットを含むデータ構造を公開するのは `QSGMaterialShader ` の役割であり、マテリアルは(実装がある場合)、`updatePipelineState()` 内でその状態を変更することができます。その後、シーングラフは内部的にこれらの変更をアクティブなグラフィックス・パイプラインの状態に適用し、必要に応じてそれらをロールバックします。
updateGraphicsPipelineState() が呼び出されると、この構造体のすべてのメンバーは、レンダラーの現在の状態を反映する有効な値に設定されます。値を一切変更しない(またはこの関数を再実装しない)場合は、マテリアルがデフォルト値で問題ないことを示します(ただし、デフォルト値は、例えば `QSGMaterial ` フラグなどに応じて動的に変化します)。
メンバ型のドキュメント
enum GraphicsPipelineState::BlendFactor
| 定数 | 定数 |
|---|---|
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
| 定数 | 値 |
|---|---|
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 |
この列挙型はQt 6.8で導入されました。
enum GraphicsPipelineState::ColorMaskComponent
flags GraphicsPipelineState::ColorMask
| 定数 | 値 |
|---|---|
QSGMaterialShader::GraphicsPipelineState::R | 1 << 0 |
QSGMaterialShader::GraphicsPipelineState::G | 1 << 1 |
QSGMaterialShader::GraphicsPipelineState::B | 1 << 2 |
QSGMaterialShader::GraphicsPipelineState::A | 1 << 3 |
ColorMask型は、QFlags<ColorMaskComponent>のtypedefです。この型は、ColorMaskComponent値の論理和(OR)を格納します。
enum GraphicsPipelineState::CullMode
| 定数 | 定数 |
|---|---|
QSGMaterialShader::GraphicsPipelineState::CullNone | 0 |
QSGMaterialShader::GraphicsPipelineState::CullFront | 1 |
QSGMaterialShader::GraphicsPipelineState::CullBack | 2 |
[since 6.4] enum GraphicsPipelineState::PolygonMode
ポリゴンのラスタライズモードを指定します
ポリゴンモード(Metal では「Triangle Fill Mode」、D3D では「Fill Mode」)は、ポリゴンをラスタライズする際に使用される塗りつぶしモードを指定します。ポリゴンは、塗りつぶし(Fill)として、またはワイヤーフレーム(Line)として描画されます。
警告:OpenGL ESはLine ポリゴンモードをサポートしていません。OpenGL ESでは、設定されているポリゴンモードにかかわらず、すべてのポリゴンが塗りつぶされた状態でラスタライズされます。Line を使用すると、アプリケーションの移植性が失われます。
| 定数 | 値 | 説明 |
|---|---|---|
QSGMaterialShader::GraphicsPipelineState::Fill | 0 | ポリゴンの内部が塗りつぶされます(デフォルト)。 |
QSGMaterialShader::GraphicsPipelineState::Line | 1 | ポリゴンの境界エッジが線分として描画されます。 |
この列挙型は Qt 6.4 で導入されました。
メンバ変数のドキュメント
QColor GraphicsPipelineState::blendConstant
ブレンド係数が定数値を使用するように設定されている場合に適用されるブレンド定数。
bool GraphicsPipelineState::blendEnable
ブレンディングを有効にします。
注:このフラグの変更は 慎重に行う必要があり、できれば避けるべきです。むしろ、マテリアルでは常に QSGMaterial::Blend フラグを使用して、ブレンディングを使用することを指定する必要があります。QSGMaterial::Blend を宣言していないマテリアルでこの値を false から true に変更すると、予期しない視覚的な結果が生じる可能性があります。
QSGMaterialShader::GraphicsPipelineState::ColorMask GraphicsPipelineState::colorWrite
カラー書き込みマスク。
QSGMaterialShader::GraphicsPipelineState::CullMode GraphicsPipelineState::cullMode
選別モード。
[since 6.5] QSGMaterialShader::GraphicsPipelineState::BlendFactor GraphicsPipelineState::dstAlpha
アルファブレンディング係数の算出元。
separateBlendFactors がtrueに設定されている場合にのみ適用されます。
この変数はQt 6.5で導入されました。
QSGMaterialShader::GraphicsPipelineState::BlendFactor GraphicsPipelineState::dstColor
宛先ブレンド係数。separateBlendFactors の設定に応じて、RGBまたはRGBAのいずれかになります。
[since 6.8] QSGMaterialShader::GraphicsPipelineState::BlendOp GraphicsPipelineState::opAlpha
アルファブレンディング演算。
この変数はQt 6.8で導入されました。
[since 6.8] QSGMaterialShader::GraphicsPipelineState::BlendOp GraphicsPipelineState::opColor
RGBのブレンド演算。
この変数は Qt 6.8 で導入されました。
[since 6.4] QSGMaterialShader::GraphicsPipelineState::PolygonMode GraphicsPipelineState::polygonMode
ポリゴンのラスタライズモード。
この変数は Qt 6.4 で導入されました。
[since 6.5] bool GraphicsPipelineState::separateBlendFactors
アルファブレンディング係数が個別に指定されていることを示します。
デフォルトでは false であり、RGB およびアルファのブレンディング係数は、srcColor およびdstColor によって定義されます。true に設定すると、アルファのブレンディング係数は代わりにsrcAlpha およびdstAlpha から取得され、srcColor およびdstColor は RGB にのみ適用されます。
この変数は Qt 6.5 で導入されました。
[since 6.5] QSGMaterialShader::GraphicsPipelineState::BlendFactor GraphicsPipelineState::srcAlpha
ソースのアルファブレンディング係数。
separateBlendFactors がtrueに設定されている場合にのみ適用されます。
この変数はQt 6.5で導入されました。
QSGMaterialShader::GraphicsPipelineState::BlendFactor GraphicsPipelineState::srcColor
ソースのブレンド係数。separateBlendFactors の設定に応じて、RGBまたはRGBAのいずれかとなります。
© 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.