Share via


IDirect3DDevice9::SetStreamSource-Methode (d3d9helper.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 Datenströmen -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. Um herauszufinden, ob das Gerät Streamoffsets unterstützt, sehen Sie sich die D3DDEVCAPS2_STREAMOFFSET-Konstante in D3DDEVCAPS2 an.

[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-Vertex-Shader verwendet wird, muss der Schritt des Vertexstreams mit der Scheitelpunktgröße übereinstimmen, die aus dem 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 Stride normalerweise gleich der Scheitelpunktgröße sein. Es kann jedoch vorkommen, dass Sie mehrere Instanzen derselben oder ähnlichen Geometrie zeichnen möchten (z. B. wenn Sie die Instancing zum Zeichnen verwenden). Verwenden Sie in diesem Fall einen Nullschritt, um die Runtime anweisen, den Vertexpufferoffset nicht zu erhöhen (d. h. verwenden Sie dieselben Vertexdaten für alle Instanzen). Weitere Informationen zur Instancing finden Sie unter Effizientes Zeichnen mehrerer Geometrieinstanzen (Direct3D 9).

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d9helper.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)