3#include "spark/render/Export.h"
13 enum class CompareOperation
28 LessEqual = 0x00000004,
31 GreaterEqual = 0x00000005,
34 NotEqual = 0x00000006,
44 enum class StencilOperation
56 IncrementClamp = 0x00000003,
59 DecrementClamp = 0x00000004,
65 IncrementWrap = 0x00000006,
68 DecrementWrap = 0x00000007
90 CompareOperation operation = CompareOperation::Always;
110 float slopeFactor = 0.f;
113 float constantFactor = 0.f;
123 StencilOperation stencilFailOp = StencilOperation::Keep;
126 StencilOperation stencilPassOp = StencilOperation::Replace;
129 StencilOperation depthFailOp = StencilOperation::Keep;
132 CompareOperation operation = CompareOperation::Never;
145 unsigned char writeMask = 0xFF;
148 unsigned char readMask = 0xFF;
169 explicit
DepthStencilState(const DepthState& depth_state, const DepthBias& depth_bias, const StencilState& stencil_state) noexcept;
181 [[nodiscard]] DepthState& depthState() const noexcept;
187 [[nodiscard]] DepthBias& depthBias() const noexcept;
193 [[nodiscard]] StencilState& stencilState() const noexcept;
197 std::unique_ptr<Impl> m_impl;
Stores the depth/stencil state of a see IRasterizer.
Definition DepthStencilState.h:75
Describes the rasterizer depth bias.
Definition DepthStencilState.h:101
Describes the depth test state.
Definition DepthStencilState.h:81
Describes the rasterizer stencil state.
Definition DepthStencilState.h:139
Describes a stencil test for either front or back faces.
Definition DepthStencilState.h:120