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