ID3D11Device::CreateInputLayout メソッド (d3d11.h)
入力アセンブラー ステージの入力バッファー データを記述する入力レイアウト オブジェクトを作成します。
構文
HRESULT CreateInputLayout(
[in] const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
[in] UINT NumElements,
[in] const void *pShaderBytecodeWithInputSignature,
[in] SIZE_T BytecodeLength,
[out, optional] ID3D11InputLayout **ppInputLayout
);
パラメーター
[in] pInputElementDescs
型: const D3D11_INPUT_ELEMENT_DESC*
入力アセンブラー ステージ入力データ型の配列。各型は、要素の説明によって記述されます ( D3D11_INPUT_ELEMENT_DESCを参照)。
[in] NumElements
型: UINT
入力要素の配列内の入力データ型の数。
[in] pShaderBytecodeWithInputSignature
型: const void*
コンパイルされたシェーダーへのポインター。 コンパイルされたシェーダー コードには、要素の配列に対して検証される入力シグネチャが含まれています。 「解説」を参照してください。
[in] BytecodeLength
種類: SIZE_T
コンパイルされたシェーダーのサイズ。
[out, optional] ppInputLayout
種類: ID3D11InputLayout**
作成された入力レイアウト オブジェクトへのポインター ( 「ID3D11InputLayout」を参照)。 他の入力パラメーターを検証するには、このポインターを NULL に設定し、メソッドがS_FALSEを返すかどうかを確認します。
戻り値
種類: HRESULT
メソッドが成功した場合、戻りコードはS_OK。 失敗したエラー コードについては、「 Direct3D 11 リターン コード 」を参照してください。
注釈
入力レイアウト オブジェクトを作成した後、描画 API を呼び出す前に、入力アセンブラー ステージにバインドする必要があります。
シェーダー シグネチャから入力レイアウト オブジェクトを作成すると、入力レイアウト オブジェクトは、同じ入力シグネチャ (セマンティクスが含まれる) を持つ他のシェーダーと共に再利用できます。 これにより、同じ入力を持つ多数のシェーダーを操作する場合に、入力レイアウト オブジェクトの作成を簡略化できます。
入力レイアウト宣言のデータ型がシェーダー入力シグネチャのデータ型と一致しない場合、CreateInputLayout はコンパイル中に警告を生成します。 警告は、レジスタからの読み取り時にデータが再解釈される可能性があるという事実に注意を払うだけです。 この警告を無視するか (再解釈が意図的な場合)、両方の宣言でデータ型を一致させ、警告を排除できます。
Windows Phone 8: この API はサポートされています。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d11.h |
Library | D3D11.lib |