Funzione D3D10CompileShader (d3d10shader.h)
Compilare uno shader HLSL .
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 |