私はOpenGLを短期間使用していますが、VBOについて説明が必要です。私が理解しているように、VBOはVRAMに格納されたオブジェクトです。即時モードでは、テクスチャを適用するために、テクスチャをバインドし、頂点座標の前にテクスチャ座標を指定するだけですが、VBOではそのようには見えません。
質問1: VBOでテクスチャデータを指定できますか?データのどの部分ですか?
通常、2Dでゲームを作成するときは、すべてのオブジェクトを異なるクラスのインスタンスに格納し、描画ルーチンが起動したら、画面上にあるオブジェクトを描画します。3D環境では、画面上にオブジェクトを描画するだけでは少し難しくなりますが、いくつかの数学ではそれが可能であると確信しています。
質問2:どのオブジェクトをレンダリングする必要があるかがわかったら、それらの対応するオブジェクトに「適用」リクエストを送信し、それらを自分自身に適用させるのは許容できるほど速くなりますか?それとももっと良い方法がありますか?
質問3:完全に動的なマップがあり、オブジェクトがそれほど頻繁に変更されない場合、とのパフォーマンスの違いに関するガイドラインは GL_STATIC_DRAW
ありGL_DYNAMIC_DRAW
ますか?
最後の質問:頂点リストの使用を検討すべきですか?または、VBOはより良いオプションですか?
glDrawElements
各オブジェクトを呼び出しますか、それともすべてを三角形として保存し、1つだけにしますかglDrawElements
?どちらの方法も実行可能ですか?