Freigeben über


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

Weitere Informationen

IDirect3DDevice9

IDirect3DDevice9::BeginStateBlock

IDirect3DDevice9::EndStateBlock