Funzione D3DXCreateEffectFromResourceEx
Creare un effetto da una descrizione dell'effetto ASCII o binario. Si tratta di una versione estesa di D3DXCreateEffectFromResource che consente a un'applicazione di controllare quali parametri vengono ignorati dal sistema degli effetti.
Sintassi
HRESULT D3DXCreateEffectFromResourceEx(
_In_ LPDIRECT3DDEVICE9 pDevice,
_In_ HMODULE hSrcModule,
_In_ LPCTSTR pSrcResource,
_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.
-
hSrcModule [in]
-
Tipo: HMODULE
Handle in un modulo contenente la descrizione dell'effetto. Se questo parametro è NULL, verrà usato il modulo corrente.
-
pSrcResource [in]
-
Tipo: LPCTSTR
Puntatore alla risorsa. Questo parametro supporta sia stringhe Unicode che ANSI. Vedere la sezione Osservazioni.
-
pDefines [in]
-
Tipo: const D3DXMACRO*
Matrice facoltativa con terminazione NULL delle strutture D3DXMACRO che descrivono le definizioni del preprocessore. Questo valore può essere NULL.
-
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 pSrcResource contiene un effetto di testo, i flag possono essere una combinazione di flag D3DXSHADER e flag D3DXFX ; in caso contrario, pSrcResource 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 buffer contenente l'effetto compilato.
-
ppCompilationErrors [out]
-
Tipo: LPD3DXBUFFER*
Restituisce un buffer contenente un elenco di errori di compilazione.
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 D3DXCreateEffectFromResource 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 D3DXCreateEffectFromResourceW. In caso contrario, la chiamata alla funzione viene risolta in D3DXCreateEffectFromResourceA perché vengono usate stringhe ANSI.
D3DXCreateEffectFromResource carica i dati da una risorsa di tipo RT_RCDATA. Per altre informazioni sulle risorse di Windows, vedere MSDN.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche