- Qt 6.12
- Qt Quick 3D
- C++ Classes
- QSSGRhiGraphicsPipelineState
- Qt Quick 3D | Commercial or GPLv3

# QSSGRhiGraphicsPipelineState Class

Graphics pipeline state for the spatial scene graph. More...

Header: | `#include <qssgrhicontext.h>`
Since: | Qt 6.7

- List of all members, including inherited members

## Public Types

enum class | Flag { DepthTestEnabled, DepthWriteEnabled, BlendEnabled, UsesStencilRef, UsesScissor }
flags | Flags

## Public Variables

int | colorAttachmentCount
QRhiGraphicsPipeline::CullMode | cullMode
int | depthBias
QRhiGraphicsPipeline::CompareOp | depthFunc
float | lineWidth
QRhiGraphicsPipeline::PolygonMode | polygonMode
int | samples
QRhiScissor | scissor
float | slopeScaledDepthBias
QRhiGraphicsPipeline::StencilOpState | stencilOpFrontState
quint32 | stencilRef
quint32 | stencilWriteMask
std::array<QRhiGraphicsPipeline::TargetBlend, 8> | targetBlend
QRhiViewport | viewport

## Detailed Description

This class is a convenience class used by QtQuick3D to wrap relevant pipeline state from the QRhi classes, like QRhiGraphicsPipeline. Most of the types and value used in QSSGRhiGraphicsPipelineState will therefore map directly to an equivalent QRhi type or class.

## Member Type Documentation

### enum class QSSGRhiGraphicsPipelineState::Flag
flags QSSGRhiGraphicsPipelineState::Flags

Constant | Value
--- | ---
`QSSGRhiGraphicsPipelineState::Flag::DepthTestEnabled` | `0x1`
`QSSGRhiGraphicsPipelineState::Flag::DepthWriteEnabled` | `0x2`
`QSSGRhiGraphicsPipelineState::Flag::BlendEnabled` | `0x4`
`QSSGRhiGraphicsPipelineState::Flag::UsesStencilRef` | `0x8`
`QSSGRhiGraphicsPipelineState::Flag::UsesScissor` | `0x10`

The Flags type is a typedef for QFlags<Flag>. It stores an OR combination of Flag values.

## Member Variable Documentation

### int QSSGRhiGraphicsPipelineState::colorAttachmentCount

The number of color attachments. The default is 1.

See also QRhiTextureRenderTargetDescription::setColorAttachments() and QRhiTextureRenderTargetDescription::colorAttachmentCount().

### QRhiGraphicsPipeline::CullMode QSSGRhiGraphicsPipelineState::cullMode

Specifies the culling mode.

See also QRhiGraphicsPipeline::CullMode.

### int QSSGRhiGraphicsPipelineState::depthBias

The depth bias. The default value is 0.

See also QRhiGraphicsPipeline::depthBias().

### QRhiGraphicsPipeline::CompareOp QSSGRhiGraphicsPipelineState::depthFunc

The depth comparison function.

See also QRhiGraphicsPipeline::CompareOp.

### float QSSGRhiGraphicsPipelineState::lineWidth

The line width used. The default is 1.0

Note: For values other than 1.0 it's required that feature QRhi::WideLines is reported as supported at runtime.

### QRhiGraphicsPipeline::PolygonMode QSSGRhiGraphicsPipelineState::polygonMode

The polygon mode value. The default is Fill.

See also QRhiGraphicsPipeline::polygonMode().

### int QSSGRhiGraphicsPipelineState::samples

The sample count.

Note: A sample count of 1 means no multisample antialiasing.

See also QRhiSwapChain::sampleCount().

### QRhiScissor QSSGRhiGraphicsPipelineState::scissor

The scissor rect.

Note: Only used if UsesScissor is set.

See also QRhiCommandBuffer::setScissor().

### float QSSGRhiGraphicsPipelineState::slopeScaledDepthBias

The slope scaled depth bias. The default value is 0.

See also QRhiGraphicsPipeline::slopeScaledDepthBias().

### QRhiGraphicsPipeline::StencilOpState QSSGRhiGraphicsPipelineState::stencilOpFrontState

Describes the stencil operation state.

See also QRhiGraphicsPipeline::StencilOpState.

### quint32 QSSGRhiGraphicsPipelineState::stencilRef

The active stencil reference value.

Note: Only used when UsesStencilRef is set.

See also QRhiCommandBuffer::setStencilRef().

### quint32 QSSGRhiGraphicsPipelineState::stencilWriteMask

The stencil write mask value. The default value is `0xFF`.

See also QRhiGraphicsPipeline::stencilWriteMask().

### std::array<QRhiGraphicsPipeline::TargetBlend, 8> QSSGRhiGraphicsPipelineState::targetBlend

The blend state for one color attachment.

See also QRhiGraphicsPipeline::TargetBlend.

### QRhiViewport QSSGRhiGraphicsPipelineState::viewport

The viewport dimensions used for rendering.