ID3DXEffectStateManager-Schnittstelle

Dies ist eine vom Benutzer implementierte Schnittstelle, die es einem Benutzer ermöglicht, den Gerätestatus von einem Effekt aus festzulegen. Jede der Methoden in dieser Schnittstelle muss vom Benutzer implementiert werden und wird dann als Rückrufe für die Anwendung verwendet, wenn eine der folgenden Aktionen auftritt:

  • Ein Effekt ruft ID3DXEffect::BeginPass auf.
  • Der Effektzustand wird dynamisch aktualisiert, indem die entsprechende Statusänderungs-API aufgerufen wird. Weitere Informationen finden Sie auf den Einzelnen Methodenseiten.

Wenn eine Anwendung den Zustands-Manager verwendet, um benutzerdefinierte Rückrufe zu implementieren, wird der Zustand nicht mehr automatisch gespeichert und wiederhergestellt, wenn ID3DXEffect::BeginPass und ID3DXEffect::EndPass aufgerufen werden. Da die Anwendung ein benutzerdefiniertes Speicher- und Wiederherstellungsverhalten in den Rückrufen implementiert hat, wird dieses automatische Verhalten umgangen.

Member

Die ID3DXEffectStateManager-Schnittstelle erbt von der IUnknown-Schnittstelle . ID3DXEffectStateManager verfügt auch über die folgenden Membertypen:

Methoden

Die ID3DXEffectStateManager-Schnittstelle verfügt über diese Methoden.

Methode BESCHREIBUNG
LightEnable Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um ein Licht zu aktivieren/deaktivieren.
SetFVF Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um einen FVF-Code festzulegen.
SetLight Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um ein Licht zu setzen.
SetMaterial Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um den Materialzustand festzulegen.
SetNPatchMode Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um die Anzahl der Unterteilungssegmente für N-Patches festzulegen.
SetPixelShader Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um einen Pixel-Shader festzulegen.
SetPixelShaderConstantB Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um ein Array von Boolean-Vertex-Shaderkonstanten festzulegen.
SetPixelShaderConstantF Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um ein Array von Vertex-Shader-Gleitkommakonstanten festzulegen.
SetPixelShaderConstantI Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um ein Array von ganzzahligen Vertex-Shaderkonstanten festzulegen.
SetRenderState Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um den Renderzustand festzulegen.
SetSamplerState Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um einen Sampler festzulegen.
SetTexture Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um eine Textur festzulegen.
SetTextureStageState Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um den Zustand der Texturphase festzulegen.
SetTransform Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um eine Transformation festzulegen.
SetVertexShader Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um einen Vertex-Shader festzulegen.
SetVertexShaderConstantB Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um ein Array von Boolean-Vertex-Shaderkonstanten festzulegen.
SetVertexShaderConstantF Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um ein Array von Vertex-Shader-Gleitkommakonstanten festzulegen.
SetVertexShaderConstantI Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um ein Array von ganzzahligen Vertex-Shaderkonstanten festzulegen.

 

Bemerkungen

Ein Benutzer erstellt eine ID3DXEffectStateManager-Schnittstelle, indem er eine Von dieser Schnittstelle abgeleitete Klasse implementiert und alle Schnittstellenmethoden implementiert. Sobald die Schnittstelle erstellt wurde, können Sie den Zustands-Manager innerhalb eines Effekts mithilfe von ID3DXEffect::GetStateManager und ID3DXEffect::SetStateManager abrufen oder festlegen.

Der LPD3DXEFFECTSTATEMANAGER-Typ ist als Zeiger auf diese Schnittstelle definiert.

typedef interface ID3DXEffectStateManager ID3DXEffectStateManager;
typedef interface ID3DXEffectStateManager *LPD3DXEFFECTSTATEMANAGER;

Anforderungen

Anforderung Wert
Header
D3DX9Effect.h
Bibliothek
D3dx9.lib

Siehe auch

Effektschnittstellen