D3D10CreateEffectFromMemory-Funktion (d3d10effect.h)
Erstellt einen ID3D10Effect aus einem Puffer, der einen kompilierten Effekt enthält.
Syntax
HRESULT D3D10CreateEffectFromMemory(
[in] void *pData,
[in] SIZE_T DataLength,
[in] UINT FXFlags,
[in] ID3D10Device *pDevice,
[in] ID3D10EffectPool *pEffectPool,
[out] ID3D10Effect **ppEffect
);
Parameter
[in] pData
Typ: void*
Ein Zeiger auf einen kompilierten Effekt.
[in] DataLength
Typ: SIZE_T
Länge von pData.
[in] FXFlags
Typ: UINT
Optionen für die Effektkompilierung.
[in] pDevice
Typ: ID3D10Geräte*
Ein Zeiger auf das Gerät (siehe ID3D10Device Interface).
[in] pEffectPool
Typ: ID3D10EffectPool*
Optional. Ein Zeiger auf einen Speicherplatz für Effektvariablen, die über Effekte hinweg freigegeben werden (siehe ID3D10EffectPool-Schnittstelle).
[out] ppEffect
Typ: ID3D10Effect**
Ein Zeiger auf eine ID3D10Effect-Schnittstelle , die den erstellten Effekt enthält.
Rückgabewert
Typ: HRESULT
Gibt einen der folgenden Direct3D 10-Rückgabecodes zurück.
Bemerkungen
Hinweis
Beim Verknüpfen d3d10_1.lib
erhalten Sie die Implementierung in d3d10_1.dll
, wobei es sich um die Implementierung des Direct3D10.1-Programmiermodells handelt. Beim Verknüpfen d3d10.lib
erhalten Sie die Implementierung in d3d10.dll
, wobei es sich um die Implementierung des Direct3D10-Programmiermodells handelt.
Diese Methode wird verwendet, um ein ID3D10Effect Interface-Objekt aus einem Effekt zu erstellen, das vor der Laufzeit kompiliert und in den Arbeitsspeicher geladen wurde. Hilfe beim Vorkompilieren eines Effekts finden Sie unter Offlinekompilieren. Informationen zum Laden und Kompilieren einer ASCII-FX-Datei finden Sie unter Kompilieren eines Effekts (Direct3D 10).
Beispiele
Kompilieren des Effekts
fxc.exe /T fx_4_0 /Fo Tutorial03.fxo Tutorial03.fx
Laden Sie den kompilierten Effekt zur Laufzeit.
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);
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3d10effect.h |
Bibliothek | d3d10_1.lib, d3d10.lib |
DLL | d3d10_1.dll, d3d10.dll |