Metodo ID3D11Device::CreateInputLayout (d3d11.h)

Creare un oggetto input-layout per descrivere i dati del buffer di input per la fase di input-assembler.

Sintassi

HRESULT CreateInputLayout(
  [in]            const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
  [in]            UINT                           NumElements,
  [in]            const void                     *pShaderBytecodeWithInputSignature,
  [in]            SIZE_T                         BytecodeLength,
  [out, optional] ID3D11InputLayout              **ppInputLayout
);

Parametri

[in] pInputElementDescs

Tipo: const D3D11_INPUT_ELEMENT_DESC*

Matrice dei tipi di dati di input-assembler di fase; ogni tipo viene descritto da una descrizione dell'elemento (vedere D3D11_INPUT_ELEMENT_DESC).

[in] NumElements

Tipo: UINT

Numero di tipi di dati di input nella matrice di elementi di input.

[in] pShaderBytecodeWithInputSignature

Tipo: const void*

Puntatore al shader compilato. Il codice shader compilato contiene una firma di input convalidata rispetto alla matrice di elementi. Vedere la sezione Osservazioni.

[in] BytecodeLength

Tipo: SIZE_T

Dimensioni dello shader compilato.

[out, optional] ppInputLayout

Tipo: ID3D11InputLayout**

Puntatore all'oggetto di layout di input creato (vedere ID3D11InputLayout). Per convalidare gli altri parametri di input, impostare questo puntatore su NULL e verificare che il metodo restituisca S_FALSE.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, il codice restituito è S_OK. Per errori, vedere Codici restituiti Direct3D 11 .

Commenti

Dopo aver creato un oggetto layout di input, deve essere associato alla fase dell'assembler di input prima di chiamare un'API di disegno.

Dopo aver creato un oggetto input-layout da una firma shader, l'oggetto input-layout può essere riutilizzato con qualsiasi altro shader con una firma di input identica (semantica inclusa). In questo modo è possibile semplificare la creazione di oggetti di layout di input quando si utilizzano molti shader con input identici.

Se un tipo di dati nella dichiarazione di input-layout non corrisponde al tipo di dati in una firma di input shader, CreateInputLayout genererà un avviso durante la compilazione. L'avviso è semplicemente richiamare l'attenzione sul fatto che i dati possono essere reinterpretati quando si legge da un registro. È possibile ignorare questo avviso (se la reinterpretazione è intenzionale) o rendere i tipi di dati corrispondenti in entrambe le dichiarazioni per eliminare l'avviso.

Windows Phone 8: questa API è supportata.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d11.h
Libreria D3D11.lib

Vedi anche

ID3D11Device