PipelineStateConcept is a mixin that provides graphics pipeline state properties and helpers for applying them to the renderer. More...
#include <kanzi/core.ui/graphics3d/pipeline_state_concept.hpp>
Classes | |
| struct | PushState |
| Contains a record of applied composition state. More... | |
Public Types | |
| enum | ViewportMode { ViewportModeAbsolute , ViewportModeRelative } |
| Viewport mode enumeration. More... | |
Static Public Member Functions | |
| static CompositionRequirements | getStateCompositionRequirements (const PropertyObject &host) |
Compute additional composition requirements implied by the pipeline state properties on host (depth/stencil requirements). | |
| static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
| static void | popState (Renderer &renderer, PushState state) |
| Pop the pipeline state for the given push state. | |
| static PushState | pushState (const PropertyObject &host, Renderer &renderer) |
Push the pipeline state based on the current property values of host. | |
Static Protected Member Functions | |
| static bool | pushColorBlend (const PropertyObject &host, CompositionStack &compositionStack) |
| Push the color or blend state into the composition stack. | |
| static bool | pushDepthStencil (const PropertyObject &host, CompositionStack &compositionStack) |
| Push the depth or stencil state into the composition stack. | |
| static bool | pushRasterization (const PropertyObject &host, CompositionStack &compositionStack) |
| Push the rasterization state into the composition stack. | |
| static bool | pushViewportScissor (const PropertyObject &host, CompositionStack &compositionStack) |
| Push the viewport and scissor state into the composition stack. | |
PipelineStateConcept is a mixin that provides graphics pipeline state properties and helpers for applying them to the renderer.
This mixin is shared by render pass classes that need to apply pipeline state changes.
The property identifiers remain prefixed with "PipelineStateRenderPass.*" for backward compatibility with existing KZB content.
|
static |
|
static |
Push the pipeline state based on the current property values of host.
| host | The object that hosts the state properties. Must also expose RenderPass::InputViewportAreaProperty for viewport/scissor calculation. |
| renderer | The renderer. |
Pop the pipeline state for the given push state.
| renderer | The renderer. |
| state | The push state record returned by pushState(). |
|
static |
Compute additional composition requirements implied by the pipeline state properties on host (depth/stencil requirements).
| host | The object to read properties from. |
|
staticprotected |
Push the color or blend state into the composition stack.
|
staticprotected |
Push the depth or stencil state into the composition stack.
|
staticprotected |
Push the rasterization state into the composition stack.
|
staticprotected |
Push the viewport and scissor state into the composition stack.
Reads RenderPass::InputViewportAreaProperty from host to resolve relative coordinates.
|
static |
Blend mode property. Overrides the blend mode set in each rendered node.
|
static |
Color write mode property.
Which channels the render pass writes to the color buffer.
|
static |
Alpha-to-coverage enabled property.
|
static |
Depth test function property.
|
static |
Depth write enabled property.
|
static |
Stencil test function property.
|
static |
Stencil reference value property.
|
static |
Stencil mask property.
|
static |
Stencil fail operation property.
|
static |
Stencil pass depth fail operation property.
|
static |
Stencil pass depth pass operation property.
|
static |
Stencil write enabled property.
|
static |
Cull mode property.
|
static |
Viewport property.
Modifies the current rendering viewport. Coordinates are absolute or relative based on ViewportModeProperty.
|
static |
Viewport mode property. Selects absolute or relative coordinates for ViewportProperty.
|
static |
Scissor property. Scissor test within the current viewport.
|
static |
Scissor mode property. Selects absolute or relative coordinates for ScissorProperty.
|
static |
Polygon depth offset property.