D3DPreprocess, fonction (d3dcompiler.h)
Prétraite le code HLSL noncompilé.
Syntaxe
HRESULT D3DPreprocess(
[in] LPCVOID pSrcData,
[in] SIZE_T SrcDataSize,
[in, optional] LPCSTR pSourceName,
[in, optional] const D3D_SHADER_MACRO *pDefines,
[in, optional] ID3DInclude *pInclude,
[out] ID3DBlob **ppCodeText,
[out, optional] ID3DBlob **ppErrorMsgs
);
Paramètres
[in] pSrcData
Type : LPCVOID
Pointeur vers des données de nuanceur noncompilées ; code HLSL ASCII ou effet compilé.
[in] SrcDataSize
Type : SIZE_T
Longueur de pSrcData.
[in, optional] pSourceName
Type : LPCSTR
Nom du fichier qui contient le code HLSL noncompilé.
[in, optional] pDefines
Type : const D3D_SHADER_MACRO*
Tableau de définitions de macros terminées par NULL (voir D3D_SHADER_MACRO).
[in, optional] pInclude
Type : ID3DInclude*
Pointeur vers un ID3DInclude pour gérer les fichiers include. La définition de cette valeur sur NULL entraîne une erreur de compilation si un nuanceur contient un #include. Vous pouvez passer la macro D3D_COMPILE_STANDARD_FILE_INCLUDE, qui est un pointeur vers un gestionnaire include par défaut. Ce gestionnaire inclut par défaut des fichiers relatifs au répertoire actif et aux fichiers relatifs au répertoire source initial. Lorsque vous utilisez
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)
[out] ppCodeText
Type : ID3DBlob**
Pointeur vers une variable qui reçoit un pointeur vers l’interface ID3DBlob que vous pouvez utiliser pour accéder au code prétraité.
[out, optional] ppErrorMsgs
Type : ID3DBlob**
Pointeur vers un ID3DBlob qui contient des messages d’erreur du compilateur, ou NULL s’il n’y avait pas d’erreur.
Valeur de retour
Type : HRESULT
Renvoie l’un des codes de retour direct3D 11 .
Remarques
D3DPreprocess sorties #line directives et conserve la numérotation des lignes d’entrée source afin que la numérotation des lignes de sortie puisse être correctement liée à la source d’entrée.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Windows |
d’en-tête | d3dcompiler.h |
bibliothèque | D3dcompiler_47.lib |
DLL | D3dcompiler_47.dll |