Funzione D3DPreprocess (d3dcompiler.h)
Pre-elabora il codice HLSL non compilato.
Sintassi
HRESULT D3DPreprocess(
[in] LPCVOID pSrcData,
[in] SIZE_T SrcDataSize,
[in, optional] LPCSTR pSourceName,
[in, optional] const D3D_SHADER_MACRO *pDefines,
[in, optional] ID3DInclude *pInclude,
[out] ID3DBlob **ppCodeText,
[out, optional] ID3DBlob **ppErrorMsgs
);
Parametri
[in] pSrcData
Tipo: LPCVOID
Puntatore ai dati dello shader non compilati; Codice ASCII HLSL o effetto compilato.
[in] SrcDataSize
Tipo: SIZE_T
Lunghezza di pSrcData.
[in, optional] pSourceName
Tipo: LPCSTR
Nome del file che contiene il codice HLSL non compilato.
[in, optional] pDefines
Tipo: D3D_SHADER_MACRO* const
Matrice di definizioni di macro con terminazione NULL (vedere D3D_SHADER_MACRO).
[in, optional] pInclude
Tipo: ID3DInclude*
Puntatore a un ID3DInclude per la gestione dei file di inclusione. Se si imposta su NULL, verrà generato un errore di compilazione se uno shader contiene un #include. È 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 e ai file correnti relativi alla directory del file di origine iniziale. Quando si usa
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)
[out] ppCodeText
Tipo: ID3DBlob**
Puntatore a una variabile che riceve un puntatore all'interfaccia ID3DBlob che è possibile usare per accedere al codice pre-elaborato.
[out, optional] ppErrorMsgs
Tipo: ID3DBlob**
Puntatore a un ID3DBlob che contiene messaggi di errore del compilatore o null se non sono presenti errori.
Valore restituito
Restituisce uno dei codici restituiti Direct3D 11.
Osservazioni
D3DPreprocess output #line direttive e mantiene la numerazione delle righe dell'input di origine in modo che la numerazione delle righe di output possa essere correlata correttamente all'origine di input.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Finestre |
intestazione |
d3dcompiler.h |
libreria |
D3dcompiler_47.lib |
dll | D3dcompiler_47.dll |