Fonction D3DX10CompileFromResource
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 .
Compilez un nuanceur ou un effet à partir d’une ressource.
Syntaxe
HRESULT D3DX10CompileFromResource(
_In_ HMODULE hSrcModule,
_In_ LPCTSTR pSrcResource,
_In_ LPCTSTR pSrcFileName,
_In_ const D3D_SHADER_MACRO *pDefines,
_In_ LPD3D10INCLUDE pInclude,
_In_ LPCSTR pFunctionName,
_In_ LPCSTR pProfile,
_In_ UINT Flags1,
_In_ UINT Flags2,
_In_ ID3DX10ThreadPump *pPump,
_Out_ ID3D10Blob **ppShader,
_Out_ ID3D10Blob **ppErrorMsgs,
_Out_ HRESULT *pHResult
);
Paramètres
-
hSrcModule [in]
-
Type : HMODULE
Gérez le module de ressource contenant le nuanceur. HMODULE peut être obtenu avec la fonction GetModuleHandle.
-
pSrcResource [in]
-
Type : LPCTSTR
Nom de la ressource contenant le nuanceur. Si les paramètres du compilateur nécessitent Unicode, le type de données LPCTSTR est résolu en LPCWSTR. Sinon, le type de données est résolu en LPCSTR.
-
pSrcFileName [in]
-
Type : LPCTSTR
Optionnel. Nom du fichier d’effet, qui est utilisé uniquement pour les messages d’erreur. Peut être NULL.
-
pDefines [in]
-
Type : const D3D_SHADER_MACRO*
Optionnel. Pointeur vers un tableau de définitions de macros (voir D3D_SHADER_MACRO). La dernière structure du tableau sert de terminaison et doit avoir tous les membres définis sur 0. S’il n’est pas utilisé, définissez pDefines sur NULL.
-
pInclude [in]
-
Type : LPD3D10INCLUDE
Optionnel. Pointeur vers une interface d’interface ID3D10Include pour la gestion des fichiers include. La définition de cette valeur sur NULL entraîne une erreur de compilation si un nuanceur contient un #include.
-
pFunctionName [in]
-
Type : LPCSTR
Nom de la fonction de point d’entrée du nuanceur où commence l’exécution du nuanceur. Lorsque vous compilez un effet, D3DX10CompileFromResource ignore pFunctionName ; nous vous recommandons de définir pFunctionName sur NULL , car il est recommandé de définir un paramètre de pointeur sur NULL si la fonction appelée ne l’utilise pas.
-
pProfile [in]
-
Type : LPCSTR
Chaîne qui spécifie le modèle de nuanceur ; peut être n’importe quel profil dans le modèle de nuanceur 2, le modèle de nuanceur 3 ou le modèle de nuanceur 4.
-
Flags1 [in]
-
Type : UINT
-
Flags2 [in]
-
Type : UINT
Indicateurs de compilation d’effet. Lorsque vous compilez un nuanceur et non un fichier d’effet, D3DX10CompileFromResource ignore flags2 ; nous vous recommandons de définir Flags2 sur zéro, car il est recommandé de définir un paramètre non-pointeur sur zéro si la fonction appelée ne l’utilise pas.
-
pPump [in]
-
Type : ID3DX10ThreadPump*
Pointeur vers une interface de pompe de thread (consultez Interface ID3DX10ThreadPump). Utilisez NULL pour spécifier que cette fonction ne doit pas retourner tant qu’elle n’est pas terminée.
-
ppShader [out]
-
Type : ID3D10Blob**
Pointeur vers une interface ID3D10Blob qui contient le nuanceur compilé, ainsi que toutes les informations incorporées sur le débogage et la table de symboles.
-
ppErrorMsgs [out]
-
Type : ID3D10Blob**
Pointeur vers une interface ID3D10Blob qui contient une liste des erreurs et des avertissements qui se sont produits pendant la compilation. Ces erreurs et avertissements sont identiques à la sortie de débogage d’un débogueur.
-
pHResult [out]
-
Type : HRESULT*
Pointeur vers la valeur de retour. Peut être NULL. Si pPump n’a pas la valeur NULL, pHResult doit être un emplacement de mémoire valide jusqu’à ce que l’exécution asynchrone se termine.
Valeur retournée
Type : HRESULT
La valeur de retour est l’une des valeurs répertoriées dans Codes de retour Direct3D 10.
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|
Voir aussi