D3DXCreateEffectFromFileEx fonction)
Créer un effet à partir d’une description d’effet ASCII ou binaire. Cette fonction est une version étendue de D3DXCreateEffectFromFile qui permet à une application de contrôler les paramètres qui sont ignorés par le système d’effets.
Syntaxe
HRESULT D3DXCreateEffectFromFileEx(
_In_ LPDIRECT3DDEVICE9 pDevice,
_In_ LPCTSTR pSrcFile,
_In_ const D3DXMACRO *pDefines,
_In_ LPD3DXINCLUDE pInclude,
_In_ LPCSTR pSkipConstants,
_In_ DWORD Flags,
_In_ LPD3DXEFFECTPOOL pPool,
_Out_ LPD3DXEFFECT *ppEffect,
_Out_ LPD3DXBUFFER *ppCompilationErrors
);
Paramètres
-
pDevice [ dans]
-
Type : LPDIRECT3DDEVICE9
Pointeur vers l’appareil qui va créer l’effet. Consultez IDirect3DDevice9.
-
pSrcFile [ dans]
-
Type : LPCTSTR
Pointeur vers le nom de fichier. Ce paramètre prend en charge les chaînes Unicode et ANSI. Consultez la section Notes.
-
pDefines [ dans]
-
Type : const D3DXMACRO *
Tableau de définitions de macros de préprocesseur se terminant par un caractère NULL facultatif. Consultez D3DXMACRO.
-
pInclude [ dans]
-
Type : LPD3DXINCLUDE
Pointeur d’interface facultatif, ID3DXInclude, à utiliser pour gérer les # directives include. Si cette valeur est null, # include est respecté lors de la compilation à partir d’un fichier ou provoque une erreur lorsqu’elle est compilée à partir d’une ressource ou d’une mémoire.
-
pSkipConstants [ dans]
-
Type : LPCSTR
Chaîne de paramètres d’effet qui sera ignorée par le système d’effet. La chaîne doit se terminer par une valeur null et doit contenir le nom de chaque constante gérée par l’application, séparées par un point-virgule.
-
Indicateurs [ dans]
-
Type : DWORD
Si pSrcFile contient un effet de texte, Flags peut être une combinaison d' indicateurs D3DXSHADER et d’indicateurs D3DXFX ; Sinon, pSrcFile contient un effet binaire et les seuls indicateurs honorés sont des indicateurs D3DXFX. Le compilateur HLSL Direct3D 10 est désormais la valeur par défaut. Pour plus d’informations , consultez outil de compilateur Effect .
-
pPool [ dans]
-
Type : LPD3DXEFFECTPOOL
Pointeur vers un objet ID3DXEffectPool à utiliser pour les paramètres partagés. Si cette valeur est null, aucun paramètre n’est partagé.
-
ppEffect [ à]
-
Type : LPD3DXEFFECT*
Retourne un pointeur vers une mémoire tampon contenant l’effet compilé. Consultez ID3DXEffect.
-
ppCompilationErrors [ à]
-
Type : LPD3DXBUFFER*
Retourne un pointeur vers une mémoire tampon contenant une liste d’erreurs de compilation. Consultez ID3DXBuffer.
Valeur de retour
Type : HRESULT
Si la fonction est réussie, la valeur de retour est D3D _ OK. Si la fonction échoue, la valeur de retour peut être l’une des suivantes : D3DERR _ INVALIDCALL, D3DXERR _ sera déplacé, E _ OUTOFMEMORY.
Notes
Cette fonction est une version étendue de D3DXCreateEffectFromFile qui permet à une application de spécifier les constantes d’effet qui seront gérées par l’application. Une constante gérée par l’application est ignorée par le système d’effets. Autrement dit, l’application est responsable de l’initialisation de la constante, ainsi que de l’enregistrement et de la restauration de son état chaque fois que nécessaire.
Cette fonction vérifie chaque constante dans pSkipConstants pour voir ce qui suit :
- Elle est liée à un registre de constantes.
- Il est utilisé uniquement dans le code de nuanceur HLSL.
Si une constante est nommée dans la chaîne qui n’est pas présente dans l’effet, elle est ignorée.
Si les paramètres du compilateur requièrent Unicode, le type de données LPCTSTR est résolu en LPCWSTR. Dans le cas contraire, le type de données LPCTSTR est résolu en LPCSTR.
Le paramètre du compilateur détermine également la version de la fonction. Si Unicode est défini, l’appel de fonction est résolu en D3DXCreateEffectFromFileW. Dans le cas contraire, l’appel de fonction est résolu en D3DXCreateEffectFromFileA, car les chaînes ANSI sont utilisées.
Spécifications
| Condition requise | Valeur |
|---|---|
| En-tête |
|
| Bibliothèque |
|