メインメニューを開く

差分

ドローコール

221 バイト追加, 2021年11月16日 (火) 07:58
ドローコールはとても重たい処理である。[[シェーダー]]で実行したい[[プログラム]]を設定して、シェーダーに渡すモデルや[[テクスチャマップ]]や変数などを設定して、ドローコールをする。
下手をすると[[GPU]]での「処理」そのものよりも「呼び出し」の方が重いこともあるくらい。での「主たる処理」そのものよりも「呼び出し」の方が重いこともあるくらい重たい。
== ドローコールを減らす手法 ==
1フレームの描画に必要な「ドローコールの数」は、[[フォワードレンダリング]]ではシーン中にある「モデル」と「ライト」の数の掛け算となる。ドローコールはとても重たい処理である。その数を減らすことができればパフォーマンスが劇的に向上する。ではシーン中にある「モデル」と「ライト」の数の掛け算となる。つまりシーン内のオブジェクト数が増えるに従ってどんどん重くなる。 ドローコールはとても重たい処理である。その数を減らすことができればパフォーマンスが劇的に向上させることができる。涙ぐましい手法が色々と考案されている。
=== インスタンシング ===
=== メッシュベイカー ===
[[メッシュベイカー]]は背景などに使用される複数のモデルを、事前に「1つのモデル」に結合してしまう手法である。建築物のように動かないモデルだと簡単に実装できる。は背景などに使用される複数のモデルを、事前に「1つのモデル」に結合してしまう手法である。建築物のように動かないモデルだと比較的簡単に実装できる。
モデルを一通り読み込んだ後に結合すると利便性がよい。