ID3DXEffectStateManager-Schnittstelle

Dies ist eine benutzerdefinierte Schnittstelle, die es einem Benutzer ermöglicht, den Gerätezustand 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 Vorgänge auftritt:

  • Ein Effekt ruft ID3DXEffect::BeginPassauf.
  • Der Effektzustand wird dynamisch aktualisiert, indem die entsprechende Zustandsänderungs-API aufgerufen wird. Weitere Informationen finden Sie auf den Seiten einzelner Methoden.

Wenn eine Anwendung den Zustands-Manager verwendet, um benutzerdefinierte Rückrufe zu implementieren, speichert und stellt ein Effekt den Zustand nicht mehr automatisch wieder her, wenn ID3DXEffect::BeginPass und ID3DXEffect::EndPassaufgerufen 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 diese Typen von Membern:

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/zu 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 festzulegen.
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 Pixelshader festzulegen.
SetPixelShaderConstantB Eine Rückruffunktion, die von einem Benutzer implementiert werden muss, um ein Array von booleschen 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 booleschen 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.

Hinweise

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

Der LPD3DXEFFECTSTATEMANAGER-Typ wird 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