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 |
|
| Bibliothek |
|