Partager via


Fonction D3DX10CreateEffectPoolFromFile

Créez un pool d’effets à partir d’un fichier d’effets.

Syntaxe

HRESULT D3DX10CreateEffectPoolFromFile(
  _In_        LPCTSTR            pFileName,
  _In_  const D3D_SHADER_MACRO *pDefines,
  _In_        ID3D10Include      *pInclude,
  _In_        LPCSTR             pProfile,
  _In_        UINT               HLSLFlags,
  _In_        UINT               FXFlags,
  _In_        ID3D10Device       *pDevice,
  _In_        ID3DX10ThreadPump  *pPump,
  _Out_       ID3D10EffectPool   **ppEffectPool,
  _Out_       ID3D10Blob         **ppErrors,
  _Out_       HRESULT            *pHResult
);

Paramètres

pFileName [in]

Type : LPCTSTR

Nom de fichier de l’effet. 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.

pDefines [in]

Type : const D3D_SHADER_MACRO*

Tableau null de macros de nuanceur (voir D3D_SHADER_MACRO) ; définissez cette valeur sur NULL pour ne spécifier aucune macro.

pInclude [in]

Type : ID3D10Include*

Pointeur vers une interface include (voir INTERFACE ID3D10Include). Ce paramètre peut être NULL.

pProfile [in]

Type : LPCSTR

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

HLSLFlags [in]

Type : UINT

Options de compilation HLSL (consultez constantes D3D10_SHADER).

FXFlags [in]

Type : UINT

Options de compilation d’effets (voir Compiler et Indicateurs d’effet).

pDevice [in]

Type : ID3D10Device*

Pointeur vers l’appareil (voir INTERFACE ID3D10Device) qui utilisera les ressources.

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.

ppEffectPool [out]

Type : ID3D10EffectPool**

Adresse d’un pointeur vers le pool d’effets (voir INTERFACE ID3D10EffectPool).

ppErrors [out]

Type : ID3D10Blob**

Adresse d’un pointeur vers la mémoire (voir Interface ID3D10Blob) qui contient des erreurs de compilation d’effet, le cas échéant.

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.

Notes

Cet exemple crée un pool d’effets à partir de l’effet utilisé dans l’exemple BasicHLSL10.

   
// Create an effect pool from an effect in memory
ID3D10EffectPool * l_pEffectPool = NULL;
ID3D10Blob* l_pBlob_Errors = NULL;
WCHAR str[MAX_PATH];
hr = DXUTFindDXSDKMediaFileCch( str, MAX_PATH, L"BasicHLSL10.fx" );
hr = D3DX10CreateEffectPoolFromFile( str, 
    NULL, NULL, D3D10_SHADER_ENABLE_STRICTNESS, 
    0, pd3dDevice, NULL, &l_pEffectPool,
    &l_pBlob_Errors );

Spécifications

Condition requise Valeur
En-tête
D3DX10Async.h

Voir aussi

fonctions usage général