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()の実装で変更できる、サポートされているステートのセットを持つデータ構造を公開する必要があります。scenegraphは、これらの変更を内部的にアクティブなグラフィックス・パイプラインのステートに適用し、必要に応じてロールバックします。
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 |
この enum は 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
ポリゴンのラスタライズモードを指定
ポリゴンモード(メタルでは三角形塗りつぶしモード、D3Dでは塗りつぶしモード)は、ポリゴンのラスタライズ時に使用する塗りつぶしモードを指定します。ポリゴンはソリッド(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のいずれかとなる。
© 2025 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.