D3DXCompileShaderFromResource fonction)

Compilez un fichier de nuanceur.

Notes

Au lieu d’utiliser cette fonction héritée, nous vous recommandons de compiler hors connexion à l’aide du compilateur de ligne de commande Fxc.exe ou d’utiliser l’API D3DCompile .

Syntaxe

HRESULT D3DXCompileShaderFromResource(
  _In_        HMODULE             hSrcModule,
  _In_        LPCSTR              pSrcResource,
  _In_  const D3DXMACRO           *pDefines,
  _In_        LPD3DXINCLUDE       pInclude,
  _In_        LPCSTR              pFunctionName,
  _In_        LPCSTR              pProfile,
  _In_        DWORD               Flags,
  _Out_       LPD3DXBUFFER        *ppShader,
  _Out_       LPD3DXBUFFER        *ppErrorMsgs,
  _Out_       LPD3DXCONSTANTTABLE *ppConstantTable
);

Paramètres

hSrcModule [ dans]

Type : HMODULE

Handle d’un module contenant la description de l’effet. Si ce paramètre a la valeur null, le module actuel est utilisé.

pSrcResource [ dans]

Type : LPCSTR

Pointeur vers une chaîne qui spécifie le nom de la ressource.

pDefines [ dans]

Type : const D3DXMACRO *

Tableau de structures D3DXMACRO terminé par un caractère null facultatif. Cette valeur peut être null.

pInclude [ dans]

Type : LPD3DXINCLUDE

Pointeur d’interface facultatif, ID3DXInclude, à utiliser pour gérer les # directives include. Si cette valeur est null, # include est respecté lors de la compilation à partir d’un fichier ou génère une erreur en cas de compilation à partir d’une ressource ou d’une mémoire.

pFunctionName [ dans]

Type : LPCSTR

Pointeur vers la fonction de point d’entrée du nuanceur au début de l’exécution.

pProfile [ dans]

Type : LPCSTR

Pointeur vers un profil de nuanceur qui détermine le jeu d’instructions du nuanceur. Pour obtenir la liste des profils disponibles, consultez D3DXGetVertexShaderProfile ou D3DXGetPixelShaderProfile .

Indicateurs [ dans]

Type : DWORD

Options de compilation identifiées par différents indicateurs. Le compilateur HLSL Direct3D 10 est désormais la valeur par défaut. Pour plus d’informations, consultez indicateurs D3DXSHADER .

ppShader [ à]

Type : LPD3DXBUFFER*

Retourne une mémoire tampon contenant le nuanceur créé. Cette mémoire tampon contient le code de nuanceur compilé, ainsi que toutes les informations de débogage et de table de symboles incorporées.

ppErrorMsgs [ à]

Type : LPD3DXBUFFER*

Retourne une mémoire tampon qui contient une liste d’erreurs et d’avertissements qui ont été rencontrés pendant la compilation. Ce sont les mêmes messages que le débogueur affiche lorsqu’il s’exécute en mode débogage. Cette valeur peut être null.

ppConstantTable [ à]

Type : LPD3DXCONSTANTTABLE*

Retourne une interface ID3DXConstantTable , qui peut être utilisée pour accéder aux constantes du nuanceur. Cette valeur peut être null. Si vous compilez votre application en prenant en charge les adresses de grande taille (autrement dit, si vous utilisez l’option de l’éditeur de liens/LARGEADDRESSAWARE pour gérer les adresses supérieures à 2 Go), vous ne pouvez pas utiliser ce paramètre et devez lui affecter la valeur null. Au lieu de cela, vous devez utiliser la fonction D3DXGetShaderConstantTableEx pour récupérer la table de nuanceur-constante incorporée dans le nuanceur. Dans cet appel D3DXGetShaderConstantTableEx , vous devez passer l' indicateur _ LARGEADDRESSAWARE D3DXCONSTTABLE au paramètre Flags pour spécifier l’accès à un espace d’adressage virtuel pouvant atteindre 4 Go.

Valeur de retour

Type : HRESULT

Si la fonction est réussie, la valeur de retour est D3D _ OK. Si la fonction échoue, la valeur de retour peut être l’une des suivantes : D3DERR _ INVALIDCALL, D3DXERR _ sera déplacé, E _ OUTOFMEMORY.

Spécifications

Condition requise Valeur
En-tête
D3DX9Shader. h
Bibliothèque
D3dx9. lib

Voir aussi

Fonctions de nuanceur

D3DXCompileShader

D3DXCompileShaderFromFile