D3DCompileFromFile, fonction (d3dcompiler.h)
Syntaxe
HRESULT D3DCompileFromFile(
[in] LPCWSTR pFileName,
[in, optional] const D3D_SHADER_MACRO *pDefines,
[in, optional] ID3DInclude *pInclude,
[in] LPCSTR pEntrypoint,
[in] LPCSTR pTarget,
[in] UINT Flags1,
[in] UINT Flags2,
[out] ID3DBlob **ppCode,
[out, optional] ID3DBlob **ppErrorMsgs
);
Paramètres
[in] pFileName
Pointeur vers une chaîne constante terminée par un caractère Null qui contient le nom du fichier qui contient le code du nuanceur.
[in, optional] pDefines
Tableau facultatif de structures D3D_SHADER_MACRO qui définissent des macros de nuanceur. Chaque définition de macro contient un nom et une définition terminée par null. S’il n’est pas utilisé, définissez sur NULL. La dernière structure du tableau sert de terminateur et doit avoir tous les membres définis sur NULL.
[in, optional] pInclude
Pointeur facultatif vers une interface ID3DInclude que le compilateur utilise pour gérer les fichiers Include. Si vous définissez ce paramètre sur NULL et que le nuanceur contient un #include, une erreur de compilation se produit. Vous pouvez passer la macro D3D_COMPILE_STANDARD_FILE_INCLUDE , qui est un pointeur vers un gestionnaire include par défaut. Ce gestionnaire include par défaut inclut des fichiers relatifs au répertoire actif.
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)
[in] pEntrypoint
Pointeur vers une chaîne constante terminée par un caractère Null qui contient le nom de la fonction de point d’entrée du nuanceur où commence l’exécution du nuanceur. Lorsque vous compilez un effet, D3DCompileFromFile ignore pEntrypoint ; nous vous recommandons de définir pEntrypoint sur NULL , car il est recommandé de définir un paramètre de pointeur sur NULL si la fonction appelée ne l’utilise pas.
[in] pTarget
Pointeur vers une chaîne constante terminée par un caractère Null qui spécifie la cible du nuanceur ou l’ensemble de fonctionnalités de nuanceur à compiler. La cible du nuanceur peut être un modèle de nuanceur (par exemple, le modèle de nuanceur 2, le modèle de nuanceur 3, le modèle de nuanceur 4 ou le modèle de nuanceur 5 et ultérieur). La cible peut également être un type d’effet (par exemple, fx_4_1). Pour plus d’informations sur les cibles prises en charge par différents profils, consultez Spécification des cibles du compilateur.
[in] Flags1
Combinaison d’options de compilation du nuanceur qui sont combinées à l’aide d’une opération OR au niveau du bit. La valeur résultante spécifie comment le compilateur compile le code HLSL.
[in] Flags2
Combinaison d’options de compilation d’effets qui sont combinées à l’aide d’une opération OR au niveau du bit. La valeur résultante spécifie comment le compilateur compile l’effet. Lorsque vous compilez un nuanceur et non un fichier d’effet, D3DCompileFromFile ignore Flags2 ; nous vous recommandons de définir Flags2 sur zéro, car il est recommandé de définir un paramètre non-pointeur sur zéro si la fonction appelée ne l’utilise pas.
[out] ppCode
Pointeur vers une variable qui reçoit un pointeur vers l’interface ID3DBlob que vous pouvez utiliser pour accéder au code compilé.
[out, optional] ppErrorMsgs
Pointeur facultatif vers une variable qui reçoit un pointeur vers l’interface ID3DBlob que vous pouvez utiliser pour accéder aux messages d’erreur du compilateur, ou NULL s’il n’y a aucune erreur.
Valeur retournée
Retourne l’un des codes de retour Direct3D 11.
Remarques
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | d3dcompiler.h |
Bibliothèque | D3DCompiler.lib |
DLL | D3DCompiler_47.dll |