D3DXCreateEffectFromResourceEx, fonction
Créez un effet à partir d’une description d’effet ASCII ou binaire. Il s’agit d’une version étendue de D3DXCreateEffectFromResource qui permet à une application de contrôler quels paramètres sont ignorés par le système d’effets.
Syntaxe
HRESULT D3DXCreateEffectFromResourceEx(
_In_ LPDIRECT3DDEVICE9 pDevice,
_In_ HMODULE hSrcModule,
_In_ LPCTSTR pSrcResource,
_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 [in]
-
Type : LPDIRECT3DDEVICE9
Pointeur vers l’appareil.
-
hSrcModule [in]
-
Type : HMODULE
Gérez vers un module contenant la description de l’effet. Si ce paramètre a la valeur NULL, le module actuel est utilisé.
-
pSrcResource [in]
-
Type : LPCTSTR
Pointeur vers la ressource. Ce paramètre prend en charge les chaînes Unicode et ANSI. Consultez la section Notes.
-
pDefines [in]
-
Type : const D3DXMACRO*
Tableau facultatif terminé par null de structures D3DXMACRO qui décrivent des définitions de préprocesseur. Cette valeur peut être NULL.
-
pInclude [in]
-
Type : LPD3DXINCLUDE
Pointeur d’interface facultatif, ID3DXInclude, à utiliser pour la gestion des directives #include. Si cette valeur est NULL, #includes sera respecté lors de la compilation à partir d’un fichier ou provoquera une erreur lors de la compilation à partir d’une ressource ou d’une mémoire.
-
pSkipConstants [in]
-
Type : LPCSTR
Chaîne de paramètres d’effet qui seront ignorés par le système d’effets. La chaîne doit être terminée par NULL et doit contenir le nom de chaque constante gérée par l’application séparée par un point-virgule.
-
Indicateurs [in]
-
Type : DWORD
Si pSrcResource contient un effet de texte, les indicateurs peuvent être une combinaison d’indicateurs D3DXSHADER et d’indicateurs D3DXFX ; sinon, pSrcResource contient un effet binaire et les seuls indicateurs respectés sont des indicateurs D3DXFX. Le compilateur HLSL Direct3D 10 est désormais la valeur par défaut. Pour plus d’informations, consultez Effect-Compiler Tool .
-
pPool [in]
-
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 [out]
-
Type : LPD3DXEFFECT*
Retourne une mémoire tampon contenant l’effet compilé.
-
ppCompilationErrors [out]
-
Type : LPD3DXBUFFER*
Retourne une mémoire tampon contenant une liste d’erreurs de compilation.
Valeur retournée
Type : HRESULT
Si la fonction réussit, la valeur de retour est D3D_OK. Si la fonction échoue, la valeur de retour peut être l’une des suivantes : D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.
Notes
Cette fonction est une version étendue de D3DXCreateEffectFromResource 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 le cas échéant.
Cette fonction vérifie chaque constante dans pSkipConstants pour voir que :
- Il est lié à un registre constant.
- Il est utilisé uniquement dans le code du 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 nécessitent Unicode, le type de données LPCTSTR est résolu en LPCWSTR. Sinon, 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 D3DXCreateEffectFromResourceW. Sinon, l’appel de fonction est résolu en D3DXCreateEffectFromResourceA, car les chaînes ANSI sont utilisées.
D3DXCreateEffectFromResource charge des données à partir d’une ressource de type RT_RCDATA. Pour plus d’informations sur les ressources Windows, consultez MSDN.
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|
Voir aussi