次の方法で共有


ID3D11DeviceContext::D rawAuto メソッド (d3d11.h)

不明なサイズのジオメトリを描画します。

構文

void DrawAuto();

戻り値

なし

解説

描画 API は、レンダリング パイプラインに作業を送信します。 この API は、入力アセンブラー、頂点シェーダー、ストリーム出力ステージによって処理された不明なサイズの作業を送信します。この作業は、geometry-shader ステージを通過した可能性があります。そうでない場合もあります。

データがストリーム出力ステージ バッファーにストリーミングされた後、これらのバッファーを入力スロット 0 の入力アセンブラー ステージに再度バインドできます。DrawAuto は、バッファーに書き込まれたデータの量をアプリケーションが知らなくてもそれらを描画します。 SO ステージ バッファーに書き込まれるデータ量の測定は、データがストリーミングされるときに内部的に維持されます。つまり、CPU は、入力データとしてストリーミングされたデータを再バインドする前に測定をフェッチする必要はありません。 この量は内部的に追跡されますが、入力レイアウトを使用して SO ステージ バッファー内のデータの形式を記述し、バッファーが再び入力アセンブラーにバインドされたときにレイアウトを使用できるようにする必要があります。

次の図は、DrawAuto プロセスを示しています。

データが複数のステージを通過してバッファーに移動し、入力アセンブラー ステージに戻る場合の DrawAuto の図

DrawAuto を呼び出しても、再び入力としてバインドされたストリーミング出力バッファーの状態は変更されません。

DrawAuto は、スロット 0 の IA ステージへの入力としてバインドされた 1 つの入力バッファーを使用して描画する場合にのみ機能します。 アプリケーションでは、バインド フラグ、 D3D11_BIND_VERTEX_BUFFERD3D11_BIND_STREAM_OUTPUTの両方を使用して SO バッファー リソースを作成する必要があります。

この API では、インデックス作成やインスタンス化はサポートされていません。

アプリケーションがストリーミング出力バッファーのサイズを取得する必要がある場合は、 D3D11_QUERY_SO_STATISTICSを使用してストリーミング出力の統計を照会できます。

要件

要件
対象プラットフォーム Windows
ヘッダー d3d11.h
Library D3D11.lib

こちらもご覧ください

ID3D11DeviceContext