ID3D10Device::D rawAuto-Methode (d3d10.h)
Zeichnen Sie Geometrien einer unbekannten Größe, die von der Geometrie-Shaderstufe erstellt wurde. Siehe Bemerkungen.
Syntax
void DrawAuto();
Rückgabewert
Keine
Bemerkungen
Eine Zeichnungs-API übermittelt Arbeit an die Renderingpipeline.
Nachdem Daten an SO-Phasenpuffer gestreamt wurden, können diese Puffer wieder an die Eingabeassemierungsphase am Eingabeslot 0 gebunden werden, und DrawAuto zeichnet sie, ohne dass die Anwendung wissen muss, wie viele Daten in die Puffer geschrieben wurden. Eine Messung der Menge an Daten, die in die SO-Phasenpuffer geschrieben werden, wird intern beibehalten, wenn die Daten gestreamt werden. Dies bedeutet, dass die CPU die Messung nicht abrufen muss, bevor die Daten, die als Eingabedaten gestreamt wurden, erneut gebunden werden. Obwohl diese Menge intern nachverfolgt wird, liegt es weiterhin in der Verantwortung von Anwendungen, Eingabelayouts zu verwenden, um das Format der Daten in den SO-Phasenpuffern zu beschreiben, sodass die Layouts verfügbar sind, wenn die Puffer erneut an den Eingabeassemierer gebunden sind.
Das folgende Diagramm zeigt den DrawAuto-Prozess.
Das Aufrufen von DrawAuto ändert nicht den Zustand der Streamingausgabepuffer, die erneut als Eingaben gebunden wurden.
DrawAuto funktioniert nur beim Zeichnen mit einem Eingabepuffer, der als Eingabe an die IA-Phase im Slot 0 gebunden ist. Anwendungen müssen die SO-Pufferressource mit beiden Bindungsflags erstellen, D3D10_BIND_VERTEX_BUFFER und D3D10_BIND_STREAM_OUTPUT.
Diese API unterstützt keine Indizierung oder Instancing.
Wenn eine Anwendung die Größe des Streamingausgabepuffers abrufen muss, kann sie statistiken zur Streamingausgabe mithilfe von D3D10_QUERY_SO_STATISTICS abfragen.
Ein Beispiel für die Verwendung von DrawAuto finden Sie unter ParticlesGS Sample and PipesGS Sample.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | d3d10.h |
Bibliothek | D3D10.lib |