Freigeben über


ID3D11Device::CreateInputLayout-Methode (d3d11.h)

Erstellen Sie ein Eingabelayoutobjekt, um die Eingabepufferdaten für die Eingabe-Assembler-Phase zu beschreiben.

Syntax

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

Parameter

[in] pInputElementDescs

Typ: const D3D11_INPUT_ELEMENT_DESC*

Ein Array der Eingabe-/Assembler-Phaseneingabedatentypen; Jeder Typ wird durch eine Elementbeschreibung beschrieben (siehe D3D11_INPUT_ELEMENT_DESC).

[in] NumElements

Typ: UINT

Die Anzahl der Eingabedatentypen im Array von Eingabeelementen.

[in] pShaderBytecodeWithInputSignature

Typ: const void*

Ein Zeiger auf den kompilierten Shader. Der kompilierte Shadercode enthält eine Eingabesignatur, die anhand des Arrays von Elementen überprüft wird. Siehe Bemerkungen.

[in] BytecodeLength

Typ: SIZE_T

Größe des kompilierten Shaders.

[out, optional] ppInputLayout

Typ: ID3D11InputLayout**

Ein Zeiger auf das erstellte Eingabelayoutobjekt (siehe ID3D11InputLayout). Um die anderen Eingabeparameter zu überprüfen, legen Sie diesen Zeiger auf NULL fest, und überprüfen Sie, ob die Methode S_FALSE zurückgibt.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, wird der Rückgabecode S_OK. Fehlercodes finden Sie unter Direct3D 11-Rückgabecodes .

Hinweise

Nach dem Erstellen eines Eingabelayoutobjekts muss es vor dem Aufrufen einer Zeichnungs-API an die Eingabe-Assembler-Phase gebunden werden.

Sobald ein Eingabelayoutobjekt aus einer Shadersignatur erstellt wurde, kann das Eingabelayoutobjekt mit jedem anderen Shader wiederverwendet werden, der über eine identische Eingabesignatur (Semantik eingeschlossen) verfügt. Dies kann die Erstellung von Eingabelayoutobjekten vereinfachen, wenn Sie mit vielen Shadern mit identischen Eingaben arbeiten.

Wenn ein Datentyp in der Eingabelayoutdeklaration nicht mit dem Datentyp in einer Shadereingabesignatur übereinstimmt, generiert CreateInputLayout während der Kompilierung eine Warnung. Die Warnung besteht lediglich darin, darauf hinzuweisen, dass die Daten beim Lesen aus einem Register möglicherweise neu interpretiert werden. Sie können diese Warnung entweder ignorieren (wenn die Neuinterpretation beabsichtigt ist) oder die Datentypen in beiden Deklarationen übereinstimmen lassen, um die Warnung zu beseitigen.

Windows Phone 8: Diese API wird unterstützt.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d11.h
Bibliothek D3D11.lib

Weitere Informationen

ID3D11Device