Fonction D3DPreprocess (d3dcompiler.h)

Prétraite le code HLSL non compilé.

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 non compilé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 non compilé.

[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 la gestion des fichiers include. L’attribution de la valeur 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 include par défaut inclut les fichiers relatifs au répertoire actif et les fichiers relatifs au répertoire du fichier 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**

Adresse d’un ID3DBlob qui contient le code compilé.

[out, optional] ppErrorMsgs

Type : ID3DBlob**

Pointeur vers un ID3DBlob qui contient des messages d’erreur du compilateur, ou NULL s’il n’y a pas eu d’erreurs.

Valeur retournée

Type : HRESULT

Retourne l’un des codes de retour Direct3D 11.

Notes

D3DPreprocess génère des sorties #line directives et conserve la numérotation des lignes de l’entrée source afin que la numérotation des lignes de sortie puisse être correctement liée à la source d’entrée.

Spécifications

   
Plateforme cible Windows
En-tête d3dcompiler.h
Bibliothèque D3dcompiler_47.lib
DLL D3dcompiler_47.dll

Voir aussi

Fonctions