Funzione D3DXCreateEffectFromFileEx
Creare un effetto da una descrizione dell'effetto ASCII o binario. Questa funzione è una versione estesa di D3DXCreateEffectFromFile che consente a un'applicazione di controllare quali parametri vengono ignorati dal sistema degli effetti.
Sintassi
HRESULT D3DXCreateEffectFromFileEx(
_In_ LPDIRECT3DDEVICE9 pDevice,
_In_ LPCTSTR pSrcFile,
_In_ const D3DXMACRO *pDefines,
_In_ LPD3DXINCLUDE pInclude,
_In_ LPCSTR pSkipConstants,
_In_ DWORD Flags,
_In_ LPD3DXEFFECTPOOL pPool,
_Out_ LPD3DXEFFECT *ppEffect,
_Out_ LPD3DXBUFFER *ppCompilationErrors
);
Parametri
-
pDevice [in]
-
Tipo: LPDIRECT3DDEVICE9
Puntatore al dispositivo che creerà l'effetto. Vedere IDirect3DDevice9.
-
pSrcFile [in]
-
Tipo: LPCTSTR
Puntatore al nome del file. Questo parametro supporta sia stringhe Unicode che ANSI. Vedere la sezione Osservazioni.
-
pDefines [in]
-
Tipo: const D3DXMACRO*
Matrice con terminazione NULL facoltativa delle definizioni di macro del preprocessore. Vedere D3DXMACRO.
-
pInclude [in]
-
Tipo: LPD3DXINCLUDE
Puntatore di interfaccia facoltativo, ID3DXInclude, da usare per gestire le direttive di #include. Se questo valore è NULL, #includes verrà rispettato quando si compila da un file o si verificherà un errore quando viene compilato da una risorsa o da una memoria.
-
pSkipConstants [in]
-
Tipo: LPCSTR
Stringa di parametri di effetto che verranno ignorati dal sistema degli effetti. La stringa deve essere terminata null e deve contenere il nome di ogni costante gestita dall'applicazione separata da un punto e virgola.
-
Flag [in]
-
Tipo: DWORD
Se pSrcFile contiene un effetto di testo, i flag possono essere una combinazione di flag D3DXSHADER e flag D3DXFX ; in caso contrario, pSrcFile contiene un effetto binario e gli unici flag onorati sono flag D3DXFX. Il compilatore Direct3D 10 HLSL è ora il valore predefinito. Per informazioni dettagliate, vedere Strumento del compilatore effetto .
-
pPool [in]
-
Tipo: LPD3DXEFFECTPOOL
Puntatore a un oggetto ID3DXEffectPool da usare per i parametri condivisi. Se questo valore è NULL, non verranno condivisi parametri.
-
ppEffect [out]
-
Tipo: LPD3DXEFFECT*
Restituisce un puntatore a un buffer contenente l'effetto compilato. Vedere ID3DXEffect.
-
ppCompilationErrors [out]
-
Tipo: LPD3DXBUFFER*
Restituisce un puntatore a un buffer contenente un elenco di errori di compilazione. Vedere ID3DXBuffer.
Valore restituito
Tipo: HRESULT
Se la funzione ha esito positivo, il valore restituito è D3D_OK. Se la funzione ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.
Commenti
Questa funzione è una versione estesa di D3DXCreateEffectFromFile che consente a un'applicazione di specificare le costanti di effetto che verranno gestite dall'applicazione. Una costante gestita dall'applicazione viene ignorata dal sistema degli effetti. Ovvero, l'applicazione è responsabile dell'inizializzazione della costante, nonché del salvataggio e del ripristino dello stato ogni volta che è appropriato.
Questa funzione controlla ogni costante in pSkipConstants per verificare che:
- È associato a un registro costante.
- Viene usato solo nel codice shader HLSL.
Se una costante viene denominata nella stringa che non è presente nell'effetto, viene ignorata.
Se le impostazioni del compilatore richiedono Unicode, il tipo di dati LPCTSTR viene risolto in LPCWSTR. In caso contrario, il tipo di dati LPCTSTR viene risolto in LPCSTR.
L'impostazione del compilatore determina anche la versione della funzione. Se Unicode è definito, la chiamata alla funzione viene risolta in D3DXCreateEffectFromFileW. In caso contrario, la chiamata di funzione viene risolta in D3DXCreateEffectFromFileA perché vengono usate stringhe ANSI.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche