IT用語集 › プログラミング › インダイレクトドロー

インダイレクトドロー

プログラミング Svenska → 更新: 2026-10-25

頂点数・インスタンス数・オフセットをCPUからの引数ではなくGPU上のバッファから読み取る描画命令。何を描くかをGPU自身が決められる。

通常のドローコールは、頂点がいくつか、インスタンスがいくつか、バッファのどこにあるかといったパラメータをCPUから直接受け取る。インダイレクトドロー(間接描画)では、その数値を収めた小さなバッファをGPUメモリ上に置き、命令はそれを指し示すだけである。OpenGLは4.0(2010年)でglDrawArraysIndirectを、4.3で複数まとめて呼ぶglMultiDrawIndirectを追加した。VulkanにはvkCmdDrawIndirect、Direct3DにはExecuteIndirectがある。

利点は、可視オブジェクトの数をCPUが知らなくてよくなることだ。先行するGPUパスが隠れたジオメトリを間引き、リストを詰め、個数まで書き込める。プロセッサへの往復は要らない。マルチ形式なら、1つのバッファに数千の別々の描画を記述して1回の呼び出しで済ませられる。GPUドリブンレンダリングの要である。

← 用語集に戻る