Partager via


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 D3D_COMPILE_STANDARD_FILE_INCLUDE, vous devez spécifier le nom du fichier source dans le paramètre pSourceName  ; le compilateur dérive le répertoire relatif initial de pSourceName.

#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

Voir aussi

Functions