topology | プロシージャルジオメトリのトポロジー |
bufferWithArgs | Draw Arguments のバッファ |
argsOffset | Draw Arguments をバッファ内でオフセットします。 |
GPU に完全なプロシージャルジオメトリを描画します。
DrawProceduralIndirect は任意の頂点やインデックスのバッファーなしで GPU に Draw 呼び出しを行います。
ComputeBuffer から描画するジオメトリの量を読み取ります。
一般的な使用例は ComputeShader から任意の量のデータを生成し、
CPU へのリードバックを必要としないレンダリングです。
これはシェーダーが ComputeBuffer バッファーから任意のデータを読むことができる
DirectX 11 や OpenGL 低レベルのハードウェアで便利です。
引数 bufferWithArgs
バッファは 4 つの整数の argsOffset
オフセットを持ちます。
インスタンスあたりの頂点数、インスタンス数、開始する頂点位置、開始するインスタンス位置
Direct3D11 の DrawInstancedIndirect や OpenGL ES 3.1 glDrawArraysIndirect 関数にマップします ( OpenGL ES 3.1 の最後の引数は予約され、使用されません)。
この呼び出しは Graphics.DrawMeshNow のようにすぐに実行されることに注意してください。現在のレンダーターゲット設定と変換行列と現在のシェーダーパス設定を使用します。
CommandBuffers にも同様の機能があります。 CommandBuffer.DrawProceduralIndirect を参照してください。
See Also: Graphics.DrawProcedural, ComputeBuffer.CopyCount, SystemInfo.supportsComputeShaders.