Interface ID3DXEffectStateManager
Il s’agit d’une interface implémentée par l’utilisateur qui permet à un utilisateur de définir l’état de l’appareil à partir d’un effet. Chacune des méthodes de cette interface doit être implémentée par l’utilisateur et sera ensuite utilisée en tant que rappels à l’application lorsque l’une des opérations suivantes se produit :
- Un effet appelle ID3DXEffect::BeginPass.
- L’état d’effet est mis à jour dynamiquement en appelant l’API de changement d’état appropriée. Pour plus d’informations, consultez les pages de méthodes individuelles.
Lorsqu’une application utilise le gestionnaire d’état pour implémenter des rappels personnalisés, un effet n’enregistre plus et restaure automatiquement l’état lors de l’appel de ID3DXEffect::BeginPass et ID3DXEffect::EndPass. Étant donné que l’application a implémenté un comportement d’enregistrement et de restauration personnalisé dans les rappels, ce comportement automatique est contourné.
Membres
L’interface ID3DXEffectStateManager hérite de l’interface IUnknown. ID3DXEffectStateManager a également les types de membres suivants :
Méthodes
L’interface ID3DXEffectStateManager utilise ces méthodes.
Méthode | Description |
---|---|
LightEnable | Fonction de rappel qui doit être implémentée par un utilisateur pour activer/désactiver un voyant. |
SetFVF | Fonction de rappel qui doit être implémentée par un utilisateur pour définir un code FVF. |
SetLight | Fonction de rappel qui doit être implémentée par un utilisateur pour définir une lumière. |
SetMaterial | Fonction de rappel qui doit être implémentée par un utilisateur pour définir l’état matériel. |
SetNPatchMode | Fonction de rappel qui doit être implémentée par un utilisateur pour définir le nombre de segments de subdivision pour les N-patchs. |
SetPixelShader | Fonction de rappel qui doit être implémentée par un utilisateur pour définir un nuanceur de pixels. |
SetPixelShaderConstantB | Fonction de rappel qui doit être implémentée par un utilisateur pour définir un tableau de constantes booléennes de nuanceur de vertex. |
SetPixelShaderConstantF | Fonction de rappel qui doit être implémentée par un utilisateur pour définir un tableau de constantes à virgule flottante de nuanceur de vertex. |
SetPixelShaderConstantI | Fonction de rappel qui doit être implémentée par un utilisateur pour définir un tableau de constantes entières de nuanceur de vertex. |
SetRenderState | Fonction de rappel qui doit être implémentée par un utilisateur pour définir l’état de rendu. |
SetSamplerState | Fonction de rappel qui doit être implémentée par un utilisateur pour définir un échantillonneur. |
SetTexture | Fonction de rappel qui doit être implémentée par un utilisateur pour définir une texture. |
SetTextureStageState | Fonction de rappel qui doit être implémentée par un utilisateur pour définir l’état de la phase de texture. |
SetTransform | Fonction de rappel qui doit être implémentée par un utilisateur pour définir une transformation. |
SetVertexShader | Fonction de rappel qui doit être implémentée par un utilisateur pour définir un nuanceur de vertex. |
SetVertexShaderConstantB | Fonction de rappel qui doit être implémentée par un utilisateur pour définir un tableau de constantes booléennes de nuanceur de vertex. |
SetVertexShaderConstantF | Fonction de rappel qui doit être implémentée par un utilisateur pour définir un tableau de constantes à virgule flottante de nuanceur de vertex. |
SetVertexShaderConstantI | Fonction de rappel qui doit être implémentée par un utilisateur pour définir un tableau de constantes entières de nuanceur de vertex. |
Notes
Un utilisateur crée une interface ID3DXEffectStateManager en implémentant une classe qui dérive de cette interface et en implémentant toutes les méthodes d’interface. Une fois l’interface créée, vous pouvez obtenir ou définir le gestionnaire d’état dans un effet à l’aide de ID3DXEffect::GetStateManager et ID3DXEffect::SetStateManager.
Le type LPD3DXEFFECTSTATEMANAGER est défini comme pointeur vers cette interface.
typedef interface ID3DXEffectStateManager ID3DXEffectStateManager;
typedef interface ID3DXEffectStateManager *LPD3DXEFFECTSTATEMANAGER;
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|
Voir aussi