現在、私は、テクスチャ、VAOとVBOが含まれていRenderObject
クラスのコレクションを持っています。これらのオブジェクトの数千人を描画することは、すべての状態の切り替えにパフォーマンスの低下を招きし、三角形の小さな数字でglDrawArrays
に呼び出します。各VBOにVAOが必要ですか?
ここでは、1MiB VBOシリーズを作成するように実装を変更するつもりです(1つで始まり、いっぱいになると2番目の1MiB VBOが作成され続けます)。 VBOごとに別々のVAOが必要ですか? VBOはすでに、インターリーブ頂点データを使用していますので、私は、私はいくつかの混乱があるかもしれないと思うなど、頂点、法線、テクスチャCOORDSため
良い点、感謝、私は頂点ATTRIBのものを削除しました。 –
@MarkIngram私は、他の読者のために、質問でそれを続けるだろう。 –
VAOがVBOバインディングポイント(ARRAY_BUFFER_BINDING)をバインドしていないのは100%ですが、3.3コア仕様pdfのVAO状態テーブルページを見ると、次のppで「 VAO状態 "となる。また、https://twitter.com/id_aa_carmack/status/409495250646753280 https://www.opengl.org/registry/doc/glspec33.core.20100311.withchanges.pdfをチェックしてください。pp 281と282をご確認ください。 私はあなたがリンクしているチュートリアルは、いつも再利用されているものと同じ要素配列バッファーをソースしているか、または要素配列バッファーがどのVBOを使用するかを確かに保持しているからです。 – Amadiro