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