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::D rawIndexedPrimitive
IDirect3DDevice9::D rawIndexedPrimitiveUP
IDirect3DDevice9::D rawPrimitive
IDirect3DDevice9::D rawPrimitiveUP