Partager via


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
D3DX9Effect.h
Bibliothèque
D3dx9.lib

Voir aussi

Interfaces d’effet