Condividi tramite


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
D3DX9Effect.h
Libreria
D3dx9.lib

Vedi anche

Funzioni effetto

D3DXCreateEffectEx

D3DXCreateEffectFromFileEx