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의 삼각형 채우기 모드, D3D의 채우기 모드)는 폴리곤을 래스터화할 때 사용되는 채우기 모드를 지정합니다. 폴리곤은 솔리드(채우기) 형태로 그려지거나 와이어 메쉬(선) 형태로 그려질 수 있습니다.
경고: OpenGL ES는 ‘ Line ’ 폴리곤 모드를 지원하지 않습니다. OpenGL ES는 설정된 폴리곤 모드와 관계없이 모든 폴리곤을 채움(filled) 형태로 래스터화합니다. ` 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.