D3D11_INPUT_ELEMENT_DESC
入力アセンブラー ステージの単一の要素についての記述です。
typedef struct D3D11_INPUT_ELEMENT_DESC {
LPCSTR SemanticName;
UINT SemanticIndex;
DXGI_FORMAT Format;
UINT InputSlot;
UINT AlignedByteOffset;
D3D11_INPUT_CLASSIFICATION InputSlotClass;
UINT InstanceDataStepRate;
} D3D11_INPUT_ELEMENT_DESC;
メンバ
- SemanticName
シェーダー入力署名でこの要素に関連付けられている HLSL セマンティクスです。 - SemanticIndex
要素のセマンティクス インデックスです。セマンティクス インデックスは、整数のインデックス番号によってセマンティクスを修飾するものです。セマンティクス インデックスは、同じセマンティクスの要素が複数ある場合にのみ必要です。たとえば、4x4 のマトリクスには 4 個の構成要素があり、それぞれの構成要素にはセマンティクス名として matrix が付けられますが、4 個の構成要素にはそれぞれ異なるセマンティクス インデックス (0、1、2、3) が割り当てられます。 - Format
要素データのデータ型です。「DXGI_FORMAT」を参照してください。 - InputSlot
入力アセンブラーを識別する整数値です (「入力スロット」を参照してください)。有効な値は 0 ~ 15 であり、D3D11.h で定義されています。 - AlignedByteOffset
(省略可能)各要素間のオフセット (バイト単位) です。前の要素の直後で現在の要素を定義するには、D3D11_APPEND_ALIGNED_ELEMENT を使用すると便利です。必要に応じてパッキング処理も指定できます。 - InputSlotClass
単一の入力スロットの入力データ クラスを識別します (「D3D11_INPUT_CLASSIFICATION」を参照してください)。 - InstanceDataStepRate
バッファーの中で要素の 1 つ分進む前に、インスタンス単位の同じデータを使用して描画するインスタンスの数です。頂点単位のデータを持つ要素 (スロット クラスは D3D11_INPUT_PER_VERTEX_DATA に設定されています) では、この値が 0 であることが必要です。
解説
入力レイアウト オブジェクトには構造体の配列が格納されます。それぞれの構造体は、入力スロットから読み込まれる 1 つの要素を定義します。入力レイアウト オブジェクトを作成するには、ID3D11Device::CreateInputLayout を呼び出します。例については、「入力レイアウト オブジェクトの作成」を参照してください。
要件
ヘッダー: D3D11.h 宣言
ライブラリ: D3D11.lib 内容