CD3D11_RASTERIZER_DESC1 構造体 (d3d11_1.h)

メモこの構造は、Windows 8以降のオペレーティング システムで使用できる Direct3D 11.1 ランタイムでサポートされています。
 
ラスタライザーの状態について説明します。

構文

struct CD3D11_RASTERIZER_DESC1 : D3D11_RASTERIZER_DESC1 {
  void CD3D11_RASTERIZER_DESC1();
  void CD3D11_RASTERIZER_DESC1(
    const D3D11_RASTERIZER_DESC1 & o
  );
  void CD3D11_RASTERIZER_DESC1(
    CD3D11_DEFAULT unnamedParam1
  );
  void CD3D11_RASTERIZER_DESC1(
    D3D11_FILL_MODE fillMode,
    D3D11_CULL_MODE cullMode,
    BOOL            frontCounterClockwise,
    INT             depthBias,
    FLOAT           depthBiasClamp,
    FLOAT           slopeScaledDepthBias,
    BOOL            depthClipEnable,
    BOOL            scissorEnable,
    BOOL            multisampleEnable,
    BOOL            antialiasedLineEnable,
    UINT            forcedSampleCount
  );
  void ~CD3D11_RASTERIZER_DESC1();
};

継承

CD3D11_RASTERIZER_DESC1構造体は、D3D11_RASTERIZER_DESC1を実装します。

メンバー

void CD3D11_RASTERIZER_DESC1()

void CD3D11_RASTERIZER_DESC1( const D3D11_RASTERIZER_DESC1 & o)

void CD3D11_RASTERIZER_DESC1( CD3D11_DEFAULT unnamedParam1)

void CD3D11_RASTERIZER_DESC1( D3D11_FILL_MODE fillMode, D3D11_CULL_MODE cullMode, BOOL frontCounterClockwise, INT depthBias, FLOAT depthBiasClamp, FLOAT slopeScaledDepthBias, BOOL depthClipEnable, BOOL scissorEnable, BOOL multisampleEnable, BOOL antialiasedLineEnable, UINT forcedSampleCount)

void ~CD3D11_RASTERIZER_DESC1()

注釈

AntialiasedLineEnable

種類: BOOL

線のアンチエイリアシングを有効にするかどうかを指定します。線の描画と MultisampleEnableFALSE の場合にのみ適用されます。 このメンバーの詳細については、「解説」を参照してください。

CullMode

種類: D3D11_CULL_MODE

指定した方向に向いている三角形が描画されないことを示します。

DepthBias

型: INT

指定されたピクセルに追加された深度値。 深度バイアスの詳細については、「 深度バイアス」を参照してください。

DepthBiasClamp

型: FLOAT

ピクセルの最大深度バイアス。 深度バイアスの詳細については、「 深度バイアス」を参照してください。

DepthClipEnable

種類: BOOL

距離に基づいてクリッピングを有効にするかどうかを指定します。

ハードウェアは、ラスター化された座標の x と y のクリッピングを常に実行します。 DepthClipEnabledefault-TRUE に設定すると、ハードウェアは z 値もクリップします (つまり、ハードウェアは次のアルゴリズムの最後のステップを実行します)。


0 < w
-w <= x <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
-w <= y <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
0 <= z <= w

DepthClipEnableFALSE に設定すると、ハードウェアは z クリッピング (つまり、前のアルゴリズムの最後の手順) をスキップします。 ただし、ハードウェアでは "0 < w" クリッピングが引き続き実行されます。 z クリッピングを無効にすると、ピクセル レベルで不適切な深度順序が発生する可能性があります。 ただし、z クリッピングを無効にすると、ステンシル シャドウの実装が簡略化されます。 言い換えると、バック クリッピング 平面を超えるジオメトリに対する複雑な特殊なケース処理を回避できます。

FillMode

種類: D3D11_FILL_MODE

レンダリング時に使用する塗りつぶしモードを決定します。

ForcedSampleCount

型: UINT

UAV のレンダリングまたはラスタライズ中に強制されるサンプル数。 有効な値は、0、1、2、4、8、および必要に応じて 16 です。 0 は、サンプル数が強制されていないことを示します。

メモForcedSampleCount を 1 以上に設定してレンダリングする場合は、次のガイドラインに従う必要があります。
  • 深度ステンシル ビューはバインドしないでください。
  • 深度テストを無効にします。
  • シェーダーが深度を出力しないことを確認します。
  • レンダー ターゲット ビューがバインド (D3D11_BIND_RENDER_TARGET) で ForcedSampleCount が 1 より大きい場合は、すべてのレンダー ターゲットに 1 つのサンプルのみが含まれるようにします。
  • サンプルの頻度でシェーダーを操作しないでください。 そのため、 ID3D11ShaderReflection::IsSampleFrequencyShader はFALSE を返します。
それ以外の場合、レンダリング動作は未定義です。 深度ステンシルを構成する方法については、「 Depth-Stencil 機能の構成」を参照してください。
 

FrontCounterClockwise

種類: BOOL

三角形が表向きか背面かを指定します。 TRUE の場合、頂点がレンダー ターゲット上で反時計回りに配置されている場合、三角形は正面向きと見なされ、時計回りである場合は背面と見なされます。 FALSE の場合、その逆は true です。

MultisampleEnable

種類: BOOL

マルチサンプル アンチエイリアシング (MSAA) レンダー ターゲットで四角形またはアルファ線のアンチエイリアシング アルゴリズムを使用するかどうかを指定します。 四角形の線のアンチエイリアシング アルゴリズムを使用する場合は TRUE 、アルファ線のアンチエイリアシング アルゴリズムを使用する場合は FALSE に設定します。 このメンバーの詳細については、「解説」を参照してください。

ScissorEnable

種類: BOOL

ハサミ四角形のカリングを有効にするかどうかを指定します。 アクティブなハサミの四角形の外側にあるすべてのピクセルがカリングされます。

SlopeScaledDepthBias

型: FLOAT

特定のピクセルの傾きのスカラー。 深度バイアスの詳細については、「 深度バイアス」を参照してください。

ラスタライザーの状態は、ラスタライザー ステージの動作を定義します。 ラスタライザー状態オブジェクトを作成するには、 ID3D11Device1::CreateRasterizerState1 を呼び出します。 ラスタライザーの状態を設定するには、 ID3D11DeviceContext::RSSetState を呼び出します。

ラスタライザーの状態を指定しない場合、Direct3D ランタイムではラスタライザーの状態に次の既定値が使用されます。

状態 既定値
FillMode [実線]
CullMode 戻る
FrontCounterClockwise FALSE
DepthBias 0
SlopeScaledDepthBias 0.0f
DepthBiasClamp 0.0f
DepthClipEnable TRUE
ScissorEnable FALSE
MultisampleEnable FALSE
AntialiasedLineEnable FALSE
ForcedSampleCount 0
メモ機能レベル 9.1、9.2、9.3、10.0 の場合、MultisampleEnableFALSE に設定すると、サンプル数が 1 より大きいレンダー ターゲットでも、アンチエイリアシングなしですべてのポイント、線、三角形がレンダリングされます。 機能レベル 10.1 以降では、 MultisampleEnable の設定は MSAA に関してポイントと三角形には影響を与えず、次の表に示すように、ライン レンダリング アルゴリズムの選択にのみ影響します。
 
線レンダリング アルゴリズム MultisampleEnable AntialiasedLineEnable
エイリアス FALSE FALSE
アルファアンチエイリアシング FALSE TRUE
四辺形 TRUE FALSE
四辺形 TRUE TRUE
  MultisampleEnable および AntialiasedLineEnable メンバーの設定は、マルチサンプル アンチエイリアシング (MSAA) レンダー ターゲット (つまり、サンプル数が 1 より大きいレンダー ターゲット) にのみ適用されます。 機能レベルの動作が異なるため、線の描画を実行しない限り、または線が四角形としてレンダリングされることを気にしない限り、MSAA レンダー ターゲットでレンダリングする場合は常に MultisampleEnableTRUE に設定することをお勧めします。

要件

要件
サポートされている最小のクライアント Windows 7 のWindows 8とプラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 のWindows Server 2012とプラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
Header d3d11_1.h

こちらもご覧ください

コア構造