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

こちらもご覧ください

ID3D11Device