Rendering & implementation · 3 / 10

Indirect Drawing

GPUバッファの引数から描画数を決める。

Compare in motion

増減する破片

Synchronized comparison
AReference
CPUで個数を渡すモデル

CPUで個数を渡すモデル

BIndirect Drawing100%
GPU側で描画数を決められる

GPU側で描画数を決められる

Loading demo…

Scrub to pause and inspect. At 0%, B matches A; at 100%, B shows the effect. The scene repeats every 8 seconds.

Look for: GPUバッファから個数を読む → 生存数だけ描く。

This model simplifies the technique to show its use case and effect. Operation counts describe the model; they are not performance measurements.

Read the storyboard

例: 増減する破片

  1. 1. Start

    描画数が変わる

  2. 2. Change

    GPUバッファから個数を読む

  3. 3. Result

    生存数だけ描く

GPU側で描画数を決められる。時間変化を示す模式図です。実際の描画結果や処理速度を再現したものではありません。

How it works

  1. 1. Input

    GPU 側の描画引数

  2. 2. Process

    バッファから引数を読む

  3. 3. Result

    CPU が数を渡さず描画

A schematic of Indirect Drawing. It shows the relationship between input, process, and result; exact values and rendering depend on the implementation.

Further reading

Unity ComputeShader ↗

A general reference for this subcategory.