ID3DXEffectStateManager-Schnittstelle

Dies ist eine benutzerdefinierte Schnittstelle, mit der ein Benutzer den Gerätezustand aus einem Effekt festlegen kann. Jede der Methoden in dieser Schnittstelle muss vom Benutzer implementiert werden und wird dann als Rückrufe an die Anwendung verwendet, wenn eine der folgenden Vorkommen auftritt:

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

Wenn eine Anwendung den Status-Manager verwendet, um benutzerdefinierte Rückrufe zu implementieren, speichert ein Effekt nicht mehr automatisch den Zustand beim Aufrufen von ID3DXEffect::BeginPass und ID3DXEffect::EndPass. Da die Anwendung ein benutzerdefiniertes Speicher- und Wiederherstellenverhalten in den Rückrufen implementiert hat, wird dieses automatische Verhalten umgehen.

Member

Die ID3DXEffectStateManager-Schnittstelle erbt von der IUnknown-Schnittstelle . ID3DXEffectStateManager verfügt auch über diese Arten von Mitgliedern:

Methoden

Die ID3DXEffectStateManager-Schnittstelle weist diese Methoden auf.

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 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 Teilsegmente 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 Vertex-Shader boolean-Konstanten 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 Vertex-Shader-Ganzzahlkonstanten 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 Texturphasenzustand 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 Vertex-Shader boolean-Konstanten 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 Vertex-Shader-Ganzzahlkonstanten festzulegen.

 

Hinweise

Ein Benutzer erstellt eine ID3DXEffectStateManager-Schnittstelle, indem eine Klasse implementiert wird, die von dieser Schnittstelle abgeleitet wird und alle Schnittstellenmethoden implementiert. Nachdem die Schnittstelle erstellt wurde, können Sie den Status-Manager mithilfe von ID3DXEffect::GetStateManager und ID3DXEffect::SetStateManager abrufen oder festlegen.

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

typedef interface ID3DXEffectStateManager ID3DXEffectStateManager;
typedef interface ID3DXEffectStateManager *LPD3DXEFFECTSTATEMANAGER;

Requirements (Anforderungen)

Anforderung Wert
Header
D3DX9Effect.h
Bibliothek
D3dx9.lib

Siehe auch

Effektschnittstellen