Freigeben über


IDirect3DDevice9::SetSoftwareVertexProcessing-Methode (d3d9helper.h)

Verwenden Sie diese Methode, um zwischen der Software- und Hardwarevertexverarbeitung zu wechseln.

Syntax

HRESULT SetSoftwareVertexProcessing(
  [in] BOOL bSoftware
);

Parameter

[in] bSoftware

Typ: BOOL

TRUE , um die Softwarevertexverarbeitung anzugeben; FALSE , um die Hardwarevertexverarbeitung anzugeben.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Methode fehlschlägt, kann der Rückgabewert D3DERR_INVALIDCALL werden.

Hinweise

Die Einschränkungen für den Moduswechsel lauten wie folgt (siehe auch die Hinweise zu den D3DCREATE Konstanten):

  • Wenn ein Gerät mit D3DCREATE_SOFTWARE_VERTEXPROCESSING erstellt wird, erfolgt die Scheitelpunktverarbeitung in Software und kann nicht geändert werden.
  • Wenn ein Gerät mit D3DCREATE_HARDWARE_VERTEXPROCESSING erstellt wird, erfolgt die Scheitelpunktverarbeitung in der Hardware und kann nicht geändert werden.
  • Wenn ein Gerät mit D3DCREATE_MIXED_VERTEXPROCESSING erstellt wird, erfolgt die Scheitelpunktverarbeitung standardmäßig in der Hardware. Die Verarbeitung kann mithilfe von IDirect3DDevice9::SetSoftwareVertexProcessing auf Software (oder zurück zur Hardware) umgestellt werden.
Eine Anwendung kann ein Gerät im gemischten Modus erstellen, um sowohl die Softwarevertexverarbeitung als auch die Hardwarevertexverarbeitung zu verwenden. Um zwischen den beiden Vertexverarbeitungsmodi in DirectX 8.x zu wechseln, verwenden Sie IDirect3DDevice8::SetRenderState mit dem Renderzustand D3DRS_SOFTWAREVERTEXPROCESSING und dem entsprechenden DWORD-Argument. Der Nachteil des Renderzustandsansatzes war die Schwierigkeit, die Semantik für Zustandsblöcke zu definieren. Anwendungen und die Runtime mussten zusätzliche Arbeit leisten und beim Aufzeichnen und Wiedergeben von Zustandsblöcken vorsichtig sein.

Verwenden Sie in Direct3D 9 stattdessen SetSoftwareVertexProcessing . Diese neue API wird nicht von StateBlocks aufgezeichnet.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d9helper.h (einschließlich D3D9.h)
Bibliothek D3D9.lib

Weitere Informationen

IDirect3DDevice9

IDirect3DDevice9::GetSoftwareVertexProcessing