Condividi tramite


Funzione D3D10CompileShader (d3d10shader.h)

Compilare uno shader HLSL .

Nota Usare D3DX10CompileFromMemory anziché questa funzione.
 

Sintassi

HRESULT D3D10CompileShader(
  [in]  LPCSTR                   pSrcData,
  [in]  SIZE_T                   SrcDataSize,
  [in]  LPCSTR                   pFileName,
  [in]  const D3D10_SHADER_MACRO *pDefines,
  [in]  LPD3D10INCLUDE           pInclude,
  [in]  LPCSTR                   pFunctionName,
  [in]  LPCSTR                   pProfile,
  [in]  UINT                     Flags,
  [out] ID3D10Blob               **ppShader,
  [out] ID3D10Blob               **ppErrorMsgs
);

Parametri

[in] pSrcData

Tipo: LPCSTR

Puntatore a una stringa contenente il codice sorgente shader.

[in] SrcDataSize

Tipo: SIZE_T

Dimensioni di pSrcData, in byte.

[in] pFileName

Tipo: LPCSTR

Nome del file contenente il codice shader.

[in] pDefines

Tipo: const D3D10_SHADER_MACRO*

facoltativo. Puntatore a una matrice di definizioni di macro (vedere D3D10_SHADER_MACRO). L'ultima struttura della matrice funge da terminatore e deve avere tutti i membri impostati su 0.
Se non usato, impostare pDefines su NULL.

[in] pInclude

Tipo: LPD3D10INCLUDE*

facoltativo. Puntatore a un'interfaccia di interfaccia ID3D10Include per la gestione dei file di inclusione. L'impostazione di questo valore su NULL causa un errore di compilazione se un shader contiene un #include.

[in] pFunctionName

Tipo: LPCSTR

Nome della funzione punto di ingresso shader in cui inizia l'esecuzione dello shader.

[in] pProfile

Tipo: LPCSTR

Stringa che specifica il profilo shader o il modello shader.

[in] Flags

Tipo: UINT

Opzioni di compilazione shader.

[out] ppShader

Tipo: ID3D10Blob**

Puntatore a un'interfaccia ID3D10Blob contenente lo shader compilato, nonché tutte le informazioni di debug e tabella dei simboli incorporate.

[out] ppErrorMsgs

Tipo: ID3D10Blob**

Puntatore a un'interfaccia ID3D10Blob che contiene un elenco di errori e avvisi che si sono verificati durante la compilazione. Questi errori e avvisi sono identici all'output di debug da un debugger.

Valore restituito

Tipo: HRESULT

Restituisce uno dei codici restituiti Direct3D 10 seguenti.

Commenti

Questa funzione usa la versione del compilatore HLSL rilasciata in DirectX SDK di novembre 2006.

Questa funzione implementa due modi per fornire le informazioni sullo shader di input. Usare pSrcData e SrcDataLen per specificare una stringa contenente il codice HLSL shader (e impostare pFileName su NULL) o usare pFileName per specificare il nome di un file shader o di un file di effetto (e impostare pSrcData su NULL).

Per configurare una fase della pipeline programmabile, compilare uno shader e quindi associare lo shader alla fase della pipeline appropriata. Ad esempio, ecco un esempio di compilazione di uno shader geometry (vedere Compilare uno shader Geometry Shader).

Questa funzione, D3D10CompileShader, chiama la versione del compilatore shader fornita ogni volta che il sistema operativo rilascia. Una versione più aggiornata del compilatore shader viene fornita quando viene fornito DirectX SDK, a cui è possibile accedere da D3DX chiamando una versione della funzione del compilatore shader, ad esempio D3DX10CompileFromFile. È preferibile usare le funzioni di ingresso D3DX per garantire che la versione più recente del compilatore shader venga usata se si ridistribuiranno le librerie ridistribuibili DirectX.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d10shader.h
Libreria D3D10.lib
DLL D3D10.dll

Vedi anche

Funzioni shader