IDirect3DDevice9::CreateStateBlock-Methode (d3d9.h)
Erstellt einen neuen Zustandsblock, der die Werte für alle Gerätezustände, vertexbezogenen Zustände oder pixelbezogenen Zustände enthält.
Syntax
HRESULT CreateStateBlock(
[in] D3DSTATEBLOCKTYPE Type,
[out, retval] IDirect3DStateBlock9 **ppSB
);
Parameter
[in] Type
Typ: D3DSTATEBLOCKTYPE
Typ der Zustandsdaten, die von der Methode erfasst werden sollen. Dieser Parameter kann auf einen Wert festgelegt werden, der im Aufzählungstyp D3DSTATEBLOCKTYPE definiert ist.
[out, retval] ppSB
Typ: IDirect3DStateBlock9**
Zeiger auf eine Zustandsblockschnittstelle. Siehe IDirect3DStateBlock9.
Rückgabewert
Typ: HRESULT
Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Methode fehlschlägt, kann der Rückgabewert wie folgt aussehen: D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY.
Hinweise
Vertex-bezogene Gerätezustände beziehen sich in der Regel auf die Zustände, die sich darauf auswirken, wie das System Scheitelpunkte verarbeitet. Pixelbezogene Zustände beziehen sich im Allgemeinen auf Gerätezustände, die sich darauf auswirken, wie das System Pixel- oder Tiefenpufferdaten während der Rasterisierung verarbeitet. Einige Zustände sind in beiden Gruppen enthalten.
Unterschiede zwischen Direct3D 9 und Direct3D 10: In Direct3D 9 enthält ein Zustandsblock Zustandsdaten für die Zustände, zu deren Erfassung beim Erstellen des Objekts angefordert wurde. Um den Wert des Statusblocks zu ändern, rufen Sie IDirect3DStateBlock9::Capture oder IDirect3DDevice9::BeginStateBlock/IDirect3DDevice9::EndStateBlock auf. Es wird kein Zustand gespeichert, wenn ein Zustandsblockobjekt in Direct3D 10 erstellt wird. |
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3d9.h (einschließlich D3D9.h) |
Bibliothek | D3D9.lib |