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
程式庫 D3D11.lib

另請參閱

ID3D11Device