D3D11_SIGNATURE_PARAMETER_DESC 構造体 (d3d11shader.h)

シェーダーシグネチャについて説明します。

構文

typedef struct _D3D11_SIGNATURE_PARAMETER_DESC {
  LPCSTR                      SemanticName;
  UINT                        SemanticIndex;
  UINT                        Register;
  D3D_NAME                    SystemValueType;
  D3D_REGISTER_COMPONENT_TYPE ComponentType;
  BYTE                        Mask;
  BYTE                        ReadWriteMask;
  UINT                        Stream;
  D3D_MIN_PRECISION           MinPrecision;
} D3D11_SIGNATURE_PARAMETER_DESC;

メンバー

SemanticName

種類: LPCSTR

データの使用方法を識別するパラメーターごとの文字列。 詳細については、「 セマンティクス」を参照してください。

SemanticIndex

型: UINT

セマンティックを変更するセマンティック インデックス。 同じセマンティックを使用するさまざまなパラメーターを区別するために使用されます。

Register

型: UINT

この変数のデータを格納するレジスタ。

SystemValueType

種類: D3D_NAME

特定 のパイプライン ステージの機能を決定する定義済みの文字列を識別するD3D_NAME型指定された値。

ComponentType

種類: D3D_REGISTER_COMPONENT_TYPE

レジスタ 格納されているコンポーネントごとのデータ型を識別するD3D_REGISTER_COMPONENT_TYPE型指定された値。 各レジスタには、最大 4 つのコンポーネントのデータを格納できます。

Mask

型: BYTE

レジスタのどのコンポーネントが使用されているかを示すマスク。

ReadWriteMask

型: BYTE

特定のコンポーネントが書き込まれなかった (署名が出力署名の場合) か、常に読み取られた (署名が入力署名の場合) かを示すマスク。

Stream

型: UINT

シグネチャ パラメーターにジオメトリ シェーダーが使用しているストリームを示します。

MinPrecision

種類: D3D_MIN_PRECISION

必要な最小補間精度を示すD3D_MIN_PRECISION型指定の値。 詳細については、「 HLSL 最小精度の使用」を参照してください。

注釈

シェーダーは n 個の入力を受け取ることができ、m 出力を生成できます。 入力 (または出力) パラメーターの順序、関連する型、およびアタッチされているセマンティクスによって、シェーダーシグネチャが構成されます。 各シェーダーには、入力と出力シグネチャがあります。

シェーダーまたは効果をコンパイルする場合、一部の API 呼び出しではシェーダーシグネチャが検証されます。つまり、1 つのシェーダー (頂点シェーダーなど) の出力シグネチャと、別のシェーダーの入力シグネチャ (ピクセル シェーダーなど) を比較します。 これにより、シェーダーは、そのデータを使用しているダウンストリーム シェーダーと互換性のあるデータを出力します。 互換性は、シェーダーシグネチャが前のシェーダー ステージの完全に一致するサブセットであることを意味します。 完全一致は、パラメーターの型とセマンティクスが完全に一致する必要があります。 サブセットは、ダウンストリーム ステージで必要ないパラメーターが、そのパラメーターをシェーダーシグネチャに含める必要はないことを意味します。

ID3D11ShaderReflection::GetInputParameterDesc などの API を呼び出して、シェーダーまたは効果からシェーダーシグネチャを取得します。

要件

要件
Header d3d11shader.h

こちらもご覧ください

シェーダー構造体