matrix | 使用するトランスフォーム(変換)マトリックス |
material | 使用するマテリアル |
shaderPass | 使用するシェーダーのパス (あるいはすべてに -1 を渡します。) |
topology | プロシージャルジオメトリのトポロジー |
properties | レンダリングの前にだけ適用するマテリアルプロパティーを追加します。 MaterialPropertyBlock を参照してください。 |
bufferWithArgs | Draw Arguments のバッファ |
argsOffset | Draw Arguments をバッファ内でオフセットします。 |
"draw procedural geometry" コマンドを追加。
コマンドバッファを実行すると頂点やインデックスのバッファなしで GPU で Draw 呼び出しが行われます。
ComputeBuffer から描画するジオメトリの量を読み取ります。一般的な使用例は ComputeShader
から任意の量のデータを生成し、CPU へのリードバックを必要としないレンダリングをします。
シェーダーが ComputeBuffer バッファから任意のデータを読むことができる DirectX 11 の低レベルで便利です。
引数 bufferWithArgs
バッファは 4 つの整数の argsOffset
オフセットを持ちます。
インスタンスあたりの頂点数、インスタンス数、開始する頂点位置、開始するインスタンス位置
Direct3D11 の DrawInstancedIndirect や OpenGL ES 3.1 glDrawArraysIndirect 関数にマップします ( OpenGL ES 3.1 の最後の引数は予約され、使用されません)。
頂点シェーダーで、通常、いくつかのバッファからデータをフェッチするのに SV_VertexID や SV_InstanceID の入力変数を使用します。
See Also: DrawProcedural, MaterialPropertyBlock, Graphics.DrawProceduralIndirect, ComputeBuffer.CopyCount, SystemInfo.supportsComputeShaders.