IDirect3DDevice9::CreateIndexBuffer-Methode (d3d9helper.h)
Erstellt einen Indexpuffer.
Syntax
HRESULT CreateIndexBuffer(
[in] UINT Length,
[in] DWORD Usage,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[out, retval] IDirect3DIndexBuffer9 **ppIndexBuffer,
[in] HANDLE *pSharedHandle
);
Parameter
[in] Length
Typ: UINT
Größe des Indexpuffers in Bytes.
[in] Usage
Typ: DWORD
Die Verwendung kann 0 sein, was keinen Nutzungswert angibt. Wenn die Verwendung jedoch gewünscht ist, verwenden Sie eine Kombination aus einer oder mehreren D3DUSAGE-Konstanten . Es empfiehlt sich, den Verwendungsparameter in CreateIndexBuffer mit den Verhaltensflags in IDirect3D9::CreateDevice abzugleichen. Weitere Informationen finden Sie in den Hinweisen.
[in] Format
Typ: D3DFORMAT
Member des aufgezählten D3DFORMAT-Typs , der das Format des Indexpuffers beschreibt. Weitere Informationen finden Sie in den Hinweisen. Die gültigen Einstellungen sind die folgenden:
Element | BESCHREIBUNG |
---|---|
D3DFMT_INDEX16 | Indizes sind jeweils 16 Bits. |
D3DFMT_INDEX32 | Indizes sind jeweils 32 Bits. |
[in] Pool
Typ: D3DPOOL
Member des aufgezählten D3DPOOL-Typs , der eine gültige Speicherklasse beschreibt, in der die Ressource platziert werden soll.
[out, retval] ppIndexBuffer
Typ: IDirect3DIndexBuffer9**
Adresse eines Zeigers auf eine IDirect3DIndexBuffer9-Schnittstelle , die die erstellte Indexpufferressource darstellt.
[in] pSharedHandle
Typ: HANDLE*
Dieser Parameter kann in Direct3D 9 für Windows Vista verwendet werden, um Ressourcen freizugeben. Legen Sie sie auf NULL fest, um keine Ressource gemeinsam zu nutzen. Dieser Parameter wird in Direct3D 9 nicht für Betriebssysteme vor Windows Vista verwendet. legen Sie sie auf NULL fest.
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, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.
Hinweise
Indexpuffer sind Speicherressourcen, die zum Speichern von Indizes verwendet werden. Sie ähneln sowohl Oberflächen als auch Vertexpuffern. Die Verwendung von Indexpuffern ermöglicht Direct3D, unnötiges Kopieren von Daten zu vermeiden und den Puffer für die erwartete Nutzung im optimalen Speichertyp zu platzieren.
Um Indexpuffer zu verwenden, erstellen Sie einen Indexpuffer, sperren Sie ihn, füllen Sie ihn mit Indizes, entsperren Sie ihn, übergeben Sie ihn an IDirect3DDevice9::SetIndices, richten Sie die Scheitelpunkte ein, richten Sie den Vertex-Shader ein, und rufen Sie IDirect3DDevice9::D rawIndexedPrimitive zum Rendern auf.
Der MaxVertexIndex-Member der D3DCAPS9-Struktur gibt die Typen von Indexpuffern an, die für das Rendern gültig sind.
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3d9helper.h (include D3D9.h) |
Bibliothek | D3D9.lib |