Funzione D3DXPreprocessShaderFromFile

Pre-elabora un file shader senza eseguire la compilazione. Questo risolve tutte le #defines e le #includes, fornendo uno shader autonomo per la compilazione successiva.

Nota

Anziché usare questa funzione legacy, è consigliabile usare l'API D3DPreprocess .

 

Sintassi

HRESULT D3DXPreprocessShaderFromFile(
  _In_        LPCSTR        pSrcFile,
  _In_  const D3DXMACRO     *pDefines,
  _In_        LPD3DXINCLUDE pInclude,
  _Out_       LPD3DXBUFFER  *ppShaderText,
  _Out_       LPD3DXBUFFER  *ppErrorMsgs
);

Parametri

pSrcFile [in]

Tipo: LPCSTR

Puntatore a una stringa che specifica il nome file dello shader.

pDefines [in]

Tipo: const D3DXMACRO*

Matrice facoltativa null con terminazione di strutture D3DXMACRO . Questo valore può essere NULL.

pInclude [in]

Tipo: LPD3DXINCLUDE

Puntatore di interfaccia facoltativo, ID3DXInclude, da usare per la gestione delle direttive #include. Se questo valore è NULL, #includes verrà rispettato durante la compilazione da un file o genererà un errore durante la compilazione da una risorsa o da una memoria.

ppShaderText [out]

Tipo: LPD3DXBUFFER*

Restituisce un buffer contenente una singola stringa di grandi dimensioni che rappresenta il flusso di token formattato risultante.

ppErrorMsgs [out]

Tipo: LPD3DXBUFFER*

Restituisce un buffer contenente un elenco di errori e avvisi rilevati durante la compilazione. Si tratta degli stessi messaggi visualizzati dal debugger durante l'esecuzione in modalità di debug. Questo valore può essere NULL.

Valore restituito

Tipo: HRESULT

Se la funzione ha esito positivo, il valore restituito viene D3D_OK. Se la funzione ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Requisiti

Requisito Valore
Intestazione
D3DX9Shader.h
Libreria
D3dx9.lib

Vedi anche

Funzioni shader

D3DXPreprocessShader

D3DXPreprocessShaderFromResource