Partager via


D3D10CreateEffectFromMemory, fonction (d3d10effect.h)

Crée un ID3D10Effect à partir d’une mémoire tampon contenant un effet compilé.

Syntaxe

HRESULT D3D10CreateEffectFromMemory(
  [in]  void             *pData,
  [in]  SIZE_T           DataLength,
  [in]  UINT             FXFlags,
  [in]  ID3D10Device     *pDevice,
  [in]  ID3D10EffectPool *pEffectPool,
  [out] ID3D10Effect     **ppEffect
);

Paramètres

[in] pData

Type : void*

Pointeur vers un effet compilé.

[in] DataLength

Type : SIZE_T

Longueur de pData.

[in] FXFlags

Type : UINT

Options de compilation des effets.

[in] pDevice

Type : ID3D10Device*

Pointeur vers l’appareil (voir INTERFACE ID3D10Device).

[in] pEffectPool

Type : ID3D10EffectPool*

facultatif. Pointeur vers un espace mémoire pour les variables d’effet partagées entre les effets (voir ID3D10EffectPool Interface).

[out] ppEffect

Type : ID3D10Effect**

Pointeur vers une interface ID3D10Effect qui contient l’effet créé.

Valeur renvoyée

Type : HRESULT

Retourne l’un des codes de retour Direct3D 10 suivants.

Notes

Notes

La liaison d3d10_1.lib vous donne l’implémentation dans d3d10_1.dll, qui est l’implémentation du modèle de programmation Direct3D10.1. La liaison d3d10.lib vous donne l’implémentation dans d3d10.dll, qui est l’implémentation du modèle de programmation Direct3D10.

Cette méthode est utilisée pour créer un objet INTERFACE ID3D10Effect à partir d’un effet compilé avant l’exécution et chargé en mémoire. Pour obtenir de l’aide sur la précompilation d’un effet, consultez Compilation hors connexion. Pour charger et compiler un fichier .fx ASCII, consultez Compiler un effet (Direct3D 10).

Exemples

Compiler l’effet

fxc.exe /T fx_4_0 /Fo Tutorial03.fxo Tutorial03.fx      

Chargez l’effet compilé au moment de l’exécution.

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);

Configuration requise

   
Plateforme cible Windows
En-tête d3d10effect.h
Bibliothèque d3d10_1.lib, d3d10.lib
DLL d3d10_1.dll, d3d10.dll

Voir aussi

Fonctions d’effet (Direct3D 10)