Freigeben über


ID3D11Device::CreateVertexShader-Methode (d3d11.h)

Erstellen Sie ein Vertex-Shader-Objekt aus einem kompilierten Shader.

Syntax

HRESULT CreateVertexShader(
  [in]            const void         *pShaderBytecode,
  [in]            SIZE_T             BytecodeLength,
  [in, optional]  ID3D11ClassLinkage *pClassLinkage,
  [out, optional] ID3D11VertexShader **ppVertexShader
);

Parameter

[in] pShaderBytecode

Typ: const void*

Ein Zeiger auf den kompilierten Shader.

[in] BytecodeLength

Typ: SIZE_T

Größe des kompilierten Vertex-Shaders.

[in, optional] pClassLinkage

Typ: ID3D11ClassLinkage*

Ein Zeiger auf eine Klassenverknüpfungsschnittstelle (siehe ID3D11ClassLinkage); der Wert kann NULL sein.

[out, optional] ppVertexShader

Typ: ID3D11VertexShader**

Adresse eines Zeigers auf eine ID3D11VertexShader-Schnittstelle . Wenn dies NULL ist, werden alle anderen Parameter überprüft, und wenn alle Parameter die Überprüfung bestehen, gibt diese API S_FALSE anstelle von S_OK zurück.

Rückgabewert

Typ: HRESULT

Diese Methode gibt einen der Direct3D 11-Rückgabecodes zurück.

Hinweise

Die Direct3D 11.1-Runtime, die ab Windows 8 verfügbar ist, bietet die folgenden neuen Funktionen für CreateVertexShader.

Die folgenden Shadermodell 5.0-Anweisungen sind nur für Pixel-Shader und Compute-Shader in der Direct3D 11.0-Runtime verfügbar. Für die Direct3D 11.1-Runtime können Sie diese Anweisungen in allen Shaderphasen verwenden, da ungeordnete Zugriffsansichten (UAV) in allen Shaderphasen verfügbar sind.

Wenn Sie daher die folgenden Shadermodell 5.0-Anweisungen in einem Vertex-Shader verwenden, können Sie den kompilierten Vertex-Shader erfolgreich an pShaderBytecode übergeben. Das heißt, der Aufruf von CreateVertexShader ist erfolgreich.

Wenn Sie einen kompilierten Shader an pShaderBytecode übergeben, der eine der folgenden Anweisungen auf einem Gerät verwendet, das uaVs nicht in jeder Shaderphase unterstützt (einschließlich vorhandener Treiber, die nicht zur Unterstützung von UAVs in jeder Shaderphase implementiert sind), schlägt CreateVertexShader fehl. CreateVertexShader schlägt auch fehl, wenn der Shader versucht, einen UAV-Slot zu verwenden, der über den Satz von UAV-Slots hinausgeht, die von der Hardware unterstützt werden.

Anforderungen

   
Zielplattform Windows
Kopfzeile d3d11.h
Bibliothek D3D11.lib

Weitere Informationen

ID3D11Device