Funzione D3D10CreateEffectFromMemory (d3d10effect.h)
Crea un ID3D10Effect da un buffer contenente un effetto compilato.
Sintassi
HRESULT D3D10CreateEffectFromMemory(
[in] void *pData,
[in] SIZE_T DataLength,
[in] UINT FXFlags,
[in] ID3D10Device *pDevice,
[in] ID3D10EffectPool *pEffectPool,
[out] ID3D10Effect **ppEffect
);
Parametri
[in] pData
Tipo: void*
Puntatore a un effetto compilato.
[in] DataLength
Tipo: SIZE_T
Lunghezza di pData.
[in] FXFlags
Tipo: UINT
Opzioni di compilazione degli effetti.
[in] pDevice
Tipo: ID3D10Device*
Puntatore al dispositivo (vedere ID3D10Device Interface).
[in] pEffectPool
Tipo: ID3D10EffectPool*
Facoltativa. Puntatore a uno spazio di memoria per le variabili di effetto condivise tra gli effetti (vedere ID3D10EffectPool Interface).
[out] ppEffect
Tipo: ID3D10Effect**
Puntatore a un'interfaccia ID3D10Effect che contiene l'effetto creato.
Valore restituito
Tipo: HRESULT
Restituisce uno dei codici restituiti Direct3D 10 seguenti.
Commenti
Nota
Il collegamento d3d10_1.lib
offre l'implementazione in d3d10_1.dll
, ovvero l'implementazione del modello di programmazione Direct3D10.1. Il collegamento d3d10.lib
offre l'implementazione in d3d10.dll
, ovvero l'implementazione del modello di programmazione Direct3D10.
Questo metodo viene usato per creare un oggetto INTERFACE ID3D10Effect da un effetto compilato prima del runtime e caricato in memoria. Per la precompilazione di un effetto, vedere Compilazione offline. Per caricare e compilare un file con estensione fx ASCII, vedere Compilare un effetto (Direct3D 10).
Esempio
Compilare l'effetto
fxc.exe /T fx_4_0 /Fo Tutorial03.fxo Tutorial03.fx
Caricare l'effetto compilato in fase di esecuzione.
ifstream is("tutorial03.fxo", ios::binary);
is.seekg(0,ios_base::end);
streampos pos = is.tellg();
is.seekg(0,ios_base::beg);
char * effectBuffer = new char[pos];
is.read(effectBuffer,pos);
hr = D3D10CreateEffectFromMemory((void *)effectBuffer,pos,0,g_pd3dDevice,NULL,&g_pEffect);
Requisiti
Piattaforma di destinazione | Windows |
Intestazione | d3d10effect.h |
Libreria | d3d10_1.lib, d3d10.lib |
DLL | d3d10_1.dll, d3d10.dll |