Freigeben über


ID3D10Device::SOSetTargets-Methode (d3d10.h)

Legen Sie die Zielausgabepuffer für die StreamOutput-Phase fest, wodurch die Pipeline zum Streamen von Daten aktiviert/deaktiviert wird.

Syntax

void SOSetTargets(
  [in] UINT         NumBuffers,
  [in] ID3D10Buffer * const *ppSOTargets,
  [in] const UINT   *pOffsets
);

Parameter

[in] NumBuffers

Typ: UINT

Die Anzahl des Puffers, der an das Gerät gebunden werden soll. Es können maximal vier Ausgabepuffer festgelegt werden. Wenn weniger als vier durch den Aufruf definiert werden, werden die verbleibenden Pufferslots auf NULL festgelegt. Siehe Hinweise.

[in] ppSOTargets

Typ: ID3D10Buffer*

Das Array von Ausgabepuffern (siehe ID3D10Buffer), das an das Gerät gebunden werden soll. Die Puffer müssen mit dem flag D3D10_BIND_STREAM_OUTPUT erstellt worden sein.

[in] pOffsets

Typ: const UINT*

Array von Offsets zu den Ausgabepuffern von ppSOTargets, ein Offset für jeden Puffer. Die Offsetwerte müssen in Bytes angegeben werden.

Rückgabewert

Keine

Bemerkungen

Rufen Sie ID3D10Device::SOSetTargets (vor allen Draw-Aufrufen) auf, um Daten zu streamen. rufen Sie SOSetTargets mit NULL auf, um das Streamen von Daten zu beenden. Ein Beispiel finden Sie unter Übung 01 aus dem GDC 2007-Workshop, in der die Rendertargets der Streamausgabe vor dem Aufruf von Draw-Methoden in der RenderInstanceToStream-Funktion festgelegt werden.

Ein Offset von -1 bewirkt, dass der Streamausgabepuffer angefügt wird und nach dem letzten Speicherort, der in einem vorherigen Streamausgabedurchlauf in den Puffer geschrieben wurde, fortgesetzt wird.

Wenn Sie diese Methode mithilfe eines Puffers aufrufen, der derzeit für das Schreiben gebunden ist, wird stattdessen effektiv NULL gebunden, da ein Puffer nicht gleichzeitig als Eingabe und Ausgabe gebunden werden kann.

Die Debugebene generiert immer dann eine Warnung, wenn verhindert wird, dass eine Ressource gleichzeitig als Eingabe und Ausgabe gebunden wird. Dadurch wird jedoch nicht verhindert, dass ungültige Daten von der Laufzeit verwendet werden.

Die -Methode enthält keinen Verweis auf die übergebenen Schnittstellen. Aus diesem Grund sollten Anwendungen darauf achten, keine Schnittstelle freizugeben, die derzeit vom Gerät verwendet wird.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d10.h
Bibliothek D3D10.lib

Weitere Informationen

ID3D10Geräteschnittstelle