シーン内のモデル (たとえば、長方形) を記述するクラスがあるとします。このクラスには、最も重要なモデル マトリックスと VAO が含まれています。レンダリング コードで描画ループを設計するときは、次のようにします (疑似コード)。
functon draw{
list = getListOfMeshes() /* List containing mesh class items */
iterate list { /* could be for example 1000 different models */
set model matrix uniform
bind VAO
draw elements
}
}
これはおそらく 1 回の VAO 呼び出しに最適化できることを理解しています。
functon draw{
bind VAO
draw elements
/* How to handle the uniforms that are different for each model?? */
}
シーンに多くのモデルを取得すると、このリストの繰り返しがボトルネックになります。このレンダリング ループを設計する別の方法はありますか?