Funzione D3DCompileFromFile (d3dcompiler.h)
Sintassi
HRESULT D3DCompileFromFile(
[in] LPCWSTR pFileName,
[in, optional] const D3D_SHADER_MACRO *pDefines,
[in, optional] ID3DInclude *pInclude,
[in] LPCSTR pEntrypoint,
[in] LPCSTR pTarget,
[in] UINT Flags1,
[in] UINT Flags2,
[out] ID3DBlob **ppCode,
[out, optional] ID3DBlob **ppErrorMsgs
);
Parametri
[in] pFileName
Puntatore a una stringa con terminazione null costante contenente il nome del file contenente il codice shader.
[in, optional] pDefines
Matrice facoltativa di strutture D3D_SHADER_MACRO che definiscono le macro shader. Ogni definizione di macro contiene un nome e una definizione con terminazione null. Se non usato, impostare su NULL. L'ultima struttura della matrice funge da terminatore e deve avere tutti i membri impostati su NULL.
[in, optional] pInclude
Puntatore facoltativo a un'interfaccia ID3DInclude usata dal compilatore per gestire i file. Se si imposta questo parametro su NULL e lo shader contiene un #include, si verifica un errore di compilazione. È possibile passare la macro D3D_COMPILE_STANDARD_FILE_INCLUDE , ovvero un puntatore a un gestore di inclusione predefinito. Questo gestore di inclusione predefinito include file relativi alla directory corrente.
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)
[in] pEntrypoint
Puntatore a una stringa con terminazione null costante contenente il nome della funzione di ingresso del punto di ingresso shader in cui inizia l'esecuzione dello shader. Quando si compila un effetto, D3DCompileFromFile ignora pEntrypoint; è consigliabile impostare pEntrypoint su NULL perché è consigliabile impostare un parametro puntatore su NULL se la funzione chiamata non la userà.
[in] pTarget
Puntatore a una stringa con terminazione null costante che specifica la destinazione dello shader o il set di funzionalità shader da compilare. La destinazione shader può essere un modello shader(ad esempio, modello shader 2, modello shader 3, modello shader 4 o modello shader 5 e versioni successive). La destinazione può anche essere un tipo di effetto , ad esempio fx_4_1. Per informazioni sulle destinazioni supportate da vari profili, vedere Specificare le destinazioni del compilatore.
[in] Flags1
Combinazione di opzioni di compilazione shader combinate usando un'operazione OR bit per bit. Il valore risultante specifica come il compilatore compila il codice HLSL.
[in] Flags2
Combinazione di opzioni di compilazione degli effetti combinate usando un'operazione OR bit per bit. Il valore risultante specifica come il compilatore compila l'effetto. Quando si compila un shader e non un file di effetto, D3DCompileFromFile ignora Flags2; È consigliabile impostare Flags2 su zero perché è consigliabile impostare un parametro nonpointer su zero se la funzione chiamata non la userà.
[out] ppCode
Puntatore a una variabile che riceve un puntatore all'interfaccia ID3DBlob che è possibile usare per accedere al codice compilato.
[out, optional] ppErrorMsgs
Puntatore facoltativo a una variabile che riceve un puntatore all'interfaccia ID3DBlob che è possibile usare per accedere ai messaggi di errore del compilatore o NULL se non sono presenti errori.
Valore restituito
Restituisce uno dei codici restituiti Direct3D 11.
Commenti
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | d3dcompiler.h |
Libreria | D3DCompiler.lib |
DLL | D3DCompiler_47.dll |