D3D11_DEPTH_STENCIL_DESC
深度ステンシル ステートについて記述します。
typedef struct D3D11_DEPTH_STENCIL_DESC {
BOOL DepthEnable;
D3D11_DEPTH_WRITE_MASK DepthWriteMask;
D3D11_COMPARISON_FUNC DepthFunc;
BOOL StencilEnable;
UINT8 StencilReadMask;
UINT8 StencilWriteMask;
D3D11_DEPTH_STENCILOP_DESC FrontFace;
D3D11_DEPTH_STENCILOP_DESC BackFace;
} D3D11_DEPTH_STENCIL_DESC;
メンバ
- DepthEnable
深度テストを使用可能にします。 - DepthWriteMask
深度ステンシル バッファーの中で、深度データによる変更が可能な部分を識別します (D3D11_DEPTH_WRITE_MASK を参照してください)。 - DepthFunc
深度データを既存の深度データと比較する関数です。関数のオプションの一覧については、「D3D11_COMPARISON_FUNC」を参照してください。 - StencilEnable
ステンシル テストを使用可能にします。 - StencilReadMask
深度ステンシル バッファーの中で、ステンシル データを読み取る部分を識別します。 - StencilWriteMask
深度ステンシル バッファーの中で、ステンシル データを書き込む部分を識別します。 - FrontFace
法線がカメラの方向を向いているサーフェスを持つピクセルの深度テストとステンシル テストの結果を使用する方法を識別します (D3D11_DEPTH_STENCILOP_DESC を参照してください)。 - BackFace
法線がカメラと逆方向を向いているサーフェスを持つピクセルの深度テストとステンシル テストの結果を使用する方法を識別します (D3D11_DEPTH_STENCILOP_DESC を参照してください)。
解説
深度ステンシル ステートは、出力結合ステージで深度ステンシル テストをどのように実行するかを制御します。
次の表に、深度ステンシル ステートの既定値を示します。
ステート | デフォルト値 |
---|---|
DepthEnable | TRUE |
DepthWriteMask | D3D11_DEPTH_WRITE_MASK_ALL |
DepthFunc | D3D11_COMPARISON_LESS |
StencilEnable | FALSE |
StencilReadMask | D3D11_DEFAULT_STENCIL_READ_MASK |
StencilWriteMask | D3D11_DEFAULT_STENCIL_WRITE_MASK |
StencilFunc | D3D11_STENCIL_OP_KEEP |
StencilDepthFailOp | D3D11_STENCIL_OP_KEEP |
StencilPassOp | D3D11_STENCIL_OP_KEEP |
StencilFailOp | D3D11_COMPARISON_ALWAYS |
ステンシル操作をサポートしているフォーマットは、DXGI_FORMAT_D24_UNORM_S8_UINT および DXGI_FORMAT_D32_FLOAT_S8X24_UINT です。
要件
ヘッダー: D3D11.h 宣言
ライブラリ: D3D11.lib 内容