Condividi tramite


Metodo ID3D11Device::CreateVertexShader (d3d11.h)

Creare un oggetto vertex-shader da uno shader compilato.

Sintassi

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

Parametri

[in] pShaderBytecode

Tipo: const void*

Puntatore al shader compilato.

[in] BytecodeLength

Tipo: SIZE_T

Dimensioni del vertex shader compilato.

[in, optional] pClassLinkage

Tipo: ID3D11ClassLinkage*

Puntatore a un'interfaccia di collegamento di classe (vedere ID3D11ClassLinkage); il valore può essere NULL.

[out, optional] ppVertexShader

Tipo: ID3D11VertexShader**

Indirizzo di un puntatore a un'interfaccia ID3D11VertexShader . Se si tratta di NULL, tutti gli altri parametri verranno convalidati e, se tutti i parametri passano la convalida, l'API restituirà S_FALSE anziché S_OK.

Valore restituito

Tipo: HRESULT

Questo metodo restituisce uno dei codici restituiti Direct3D 11.

Commenti

Il runtime Direct3D 11.1, disponibile a partire da Windows 8, offre le nuove funzionalità seguenti per CreateVertexShader.

Le istruzioni seguenti sul modello shader 5.0 sono disponibili solo per pixel shader e shader di calcolo nel runtime direct3D 11.0. Per il runtime Direct3D 11.1, perché le visualizzazioni di accesso non ordinate sono disponibili in tutte le fasi dello shader, è possibile usare queste istruzioni in tutte le fasi dello shader.

Pertanto, se si usano le istruzioni seguenti per il modello shader 5.0 in un vertex shader, è possibile passare correttamente il vertex shader compilato a pShaderBytecode. Vale a dire, la chiamata a CreateVertexShader ha esito positivo.

Se si passa uno shader compilato a pShaderBytecode che usa una delle istruzioni seguenti in un dispositivo che non supporta UAV in ogni fase dello shader (inclusi i driver esistenti non implementati per supportare le UAV in ogni fase di shader), CreateVertexShader ha esito negativo. CreateVertexShader ha esito negativo anche se lo shader tenta di usare uno slot UAV oltre il set di slot UAV supportati dall'hardware.

Requisiti

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

Vedi anche

ID3D11Device