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 |