Freigeben über


IDirect3DDevice9::SetStreamSource-Methode (d3d9.h)

Bindet einen Vertexpuffer an einen Gerätedatenstrom. Weitere Informationen finden Sie unter Festlegen der Stream Quelle (Direct3D 9).

Syntax

HRESULT SetStreamSource(
  [in] UINT                   StreamNumber,
  [in] IDirect3DVertexBuffer9 *pStreamData,
  [in] UINT                   OffsetInBytes,
  [in] UINT                   Stride
);

Parameter

[in] StreamNumber

Typ: UINT

Gibt den Datenstrom im Bereich von 0 bis zur maximalen Anzahl von Streams -1 an.

[in] pStreamData

Typ: IDirect3DVertexBuffer9*

Zeiger auf eine IDirect3DVertexBuffer9-Schnittstelle , die den Vertexpuffer darstellt, der an den angegebenen Datenstrom gebunden werden soll.

[in] OffsetInBytes

Typ: UINT

Offset vom Anfang des Datenstroms bis zum Anfang der Vertexdaten in Bytes. Informationen dazu, ob das Gerät Streamoffsets unterstützt, finden Sie in der D3DDEVCAPS2_STREAMOFFSET-Konstante in D3DDEVCAPS2.

[in] Stride

Typ: UINT

Stride der Komponente in Bytes. Siehe Hinweise.

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

Wenn ein FVF-Vertexshader verwendet wird, muss die Stride des Vertexstreams mit der Vertexgröße übereinstimmen, die aus der FVF berechnet wird. Wenn eine Deklaration verwendet wird, sollte der Stride größer oder gleich der aus der Deklaration berechneten Streamgröße sein.

Beim Aufrufen von SetStreamSource muss der Schritt normalerweise gleich der Vertexgröße sein. Es gibt jedoch Situationen, in denen Sie mehrere Instanzen derselben oder ähnlichen Geometrie zeichnen möchten (z. B. bei Verwendung von Instancing zum Zeichnen). Verwenden Sie in diesem Fall einen Nullschritt, um die Laufzeit anweisen, den Vertexpufferoffset nicht zu erhöhen (d. h. verwenden Sie die gleichen Vertexdaten für alle Instanzen). Weitere Informationen zur Instanziierung finden Sie unter Effizientes Zeichnen mehrerer Geometry-Instanzen (Direct3D 9).

Anforderungen

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

Weitere Informationen

IDirect3DDevice9

IDirect3DDevice9::D rawIndexedPrimitive

IDirect3DDevice9::D rawIndexedPrimitiveUP

IDirect3DDevice9::D rawPrimitive

IDirect3DDevice9::D rawPrimitiveUP

IDirect3DDevice9::GetStreamSource

Vertexpuffer (Direct3D 9)