Share via


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

Vedi anche

Funzioni effetto (Direct3D 10)