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 |