Partager via


D3D10CompileShader, fonction (d3d10shader.h)

Compilez un nuanceur HLSL .

Note Utilisez D3DX10CompileFromMemory au lieu de cette fonction.
 

Syntaxe

HRESULT D3D10CompileShader(
  [in]  LPCSTR                   pSrcData,
  [in]  SIZE_T                   SrcDataSize,
  [in]  LPCSTR                   pFileName,
  [in]  const D3D10_SHADER_MACRO *pDefines,
  [in]  LPD3D10INCLUDE           pInclude,
  [in]  LPCSTR                   pFunctionName,
  [in]  LPCSTR                   pProfile,
  [in]  UINT                     Flags,
  [out] ID3D10Blob               **ppShader,
  [out] ID3D10Blob               **ppErrorMsgs
);

Paramètres

[in] pSrcData

Type : LPCSTR

Pointeur vers une chaîne contenant le code source du nuanceur.

[in] SrcDataSize

Type : SIZE_T

Taille de pSrcData, en octets.

[in] pFileName

Type : LPCSTR

Nom du fichier qui contient le code du nuanceur.

[in] pDefines

Type : const D3D10_SHADER_MACRO*

facultatif. Pointeur vers un tableau de définitions de macros (voir D3D10_SHADER_MACRO). La dernière structure du tableau sert de terminateur et doit avoir tous les membres définis sur 0.
S’il n’est pas utilisé, définissez pDefines sur NULL.

[in] pInclude

Type : LPD3D10INCLUDE*

facultatif. Pointeur vers une interface d’interface ID3D10Include pour la gestion des fichiers Include. L’attribution de la valeur NULL entraîne une erreur de compilation si un nuanceur contient un #include.

[in] pFunctionName

Type : LPCSTR

Nom de la fonction de point d’entrée du nuanceur où commence l’exécution du nuanceur.

[in] pProfile

Type : LPCSTR

Chaîne qui spécifie le profil de nuanceur ou le modèle de nuanceur.

[in] Flags

Type : UINT

Options de compilation du nuanceur.

[out] ppShader

Type : ID3D10Blob**

Pointeur vers une interface ID3D10Blob qui contient le nuanceur compilé, ainsi que toutes les informations de débogage et de table de symboles incorporées.

[out] ppErrorMsgs

Type : ID3D10Blob**

Pointeur vers une interface ID3D10Blob qui contient une liste des erreurs et avertissements qui se sont produits pendant la compilation. Ces erreurs et avertissements sont identiques à la sortie de débogage d’un débogueur.

Valeur retournée

Type : HRESULT

Retourne l’un des codes de retour Direct3D 10 suivants.

Remarques

Cette fonction utilise la version du compilateur HLSL publiée dans le Kit de développement logiciel (SDK) DirectX de novembre 2006.

Cette fonction implémente deux façons de fournir les informations du nuanceur d’entrée. Utilisez pSrcData et SrcDataLen pour spécifier une chaîne qui contient le code HLSL du nuanceur (et définissez pFileName sur NULL) ou utilisez pFileName pour spécifier le nom d’un nuanceur ou d’un fichier d’effet (et affectez à pSrcData la valeur NULL).

Pour configurer une étape de pipeline programmable, compilez un nuanceur, puis liez le nuanceur à l’étape de pipeline appropriée. Pour instance, voici un exemple de compilation d’un nuanceur de géométrie (voir Compiler un nuanceur geometry).

Cette fonction, D3D10CompileShader, appelle la version du compilateur de nuanceur qui est fournie chaque fois que le système d’exploitation est publié. Une version plus à jour du compilateur de nuanceur est fournie lorsque le Kit de développement logiciel (SDK) DirectX est fourni, qui est accessible à partir de D3DX en appelant une version de la fonction de point d’entrée du compilateur du nuanceur, telle que D3DX10CompileFromFile. Il est préférable d’utiliser les fonctions de point d’entrée D3DX pour vous assurer que la dernière version du compilateur de nuanceur sera utilisée si vous allez redistribuer les bibliothèques redistribuables DirectX.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d10shader.h
Bibliothèque D3D10.lib
DLL D3D10.dll

Voir aussi

Fonctions du nuanceur