ID3D11DeviceContext::D rawAuto-Methode (d3d11.h)
Zeichnen sie eine Geometrie mit unbekannter Größe.
Syntax
void DrawAuto();
Rückgabewert
Keine
Bemerkungen
Eine Zeichnungs-API übermittelt Arbeit an die Renderingpipeline. Diese API übermittelt Arbeiten mit unbekannter Größe, die von der Eingabeassemierung, dem Vertexshader und den Streamausgabephasen verarbeitet wurden. Die Arbeit hat möglicherweise die Geometrie-Shader-Phase durchlaufen oder nicht.
Nachdem Daten an Puffer der Streamausgabephase gestreamt wurden, können diese Puffer wieder an die Eingabeassemierungsphase am Eingabesteckplatz 0 gebunden werden. DrawAuto zeichnet sie, ohne dass die Anwendung die Menge der Daten kennen muss, die in die Puffer geschrieben wurden. Eine Messung der Datenmenge, die in die SO-Phasenpuffer geschrieben wird, 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 dieser Betrag 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 wieder an den Eingabeassemierer gebunden sind.
Das folgende Diagramm zeigt den DrawAuto-Prozess.
Durch das Aufrufen von DrawAuto wird der Zustand der Streamingausgabepuffer, die erneut als Eingaben gebunden wurden, nicht geändert.
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, D3D11_BIND_VERTEX_BUFFER und D3D11_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 D3D11_QUERY_SO_STATISTICS abfragen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | d3d11.h |
Bibliothek | D3D11.lib |