OpenGL®VBOとは何ですか?
OpenGraphics®(OpenGL®)コンピューターグラフィックスライブラリをコンピュータープログラミングに使用する場合、Vertex Bufferオブジェクト(VBO)は、グラフィックカードまたはグラフィックスハードウェアのメモリに3次元(3D)オブジェクトを構築および保存できるデータ構造です。これにより、OpenGL®VBOを非常に迅速にレンダリングし、即時モードの描画を使用する他の手法よりもはるかに少ないシステムリソースを使用できます。速度の向上とグラフィックスのオーバーヘッドの削減に加えて、OpenGL®VBOは、OpenGL®ディスプレイリストとは異なり、メモリに変更すると変更できる動的なデータ構造でもあります。 OpenGL®VBOの概念は、実際には異なる名前で元々含まれていたハードウェアメーカーから始まりました - OpenGL®アーキテクチャレビューボード(ARB)によって標準化されたOpenGL®ライブラリの拡張機能と同様のタイプの機能性。他の2種類のOpenGL®データ構造の組み合わせ。頂点座標、通常、色、色を含むジオメトリの情報はすべて、処理のためにOpenGL®に渡すことができる構造化されたアレイに保存できるため、頂点アレイの基本機能が含まれます。ただし、頂点配列とは異なり、OpenGL®VBOはレンダラーのサーバー側に保存されており、頂点情報のクライアント側に常にアクセスする必要はありません。
VBOをグラフィックメモリに保存できるようにすることにより、ディスプレイリストの一部のプロパティも使用します。主な違いは、OpenGL®VBOを変更でき、ディスプレイリストができないことです。さらに、VBOは必ずしもディスプレイリストとしてグラフィックメモリにコピーされるわけではないため、メモリに存在する必要があるデータ構造は1つだけです。
OpenGL®VBOが最終的にレンダリングされていると、グラフィックメモリが保存され、グラフィックプロセシングユニット(GPU)が非常に小さく、最初に遅いシステムハードウェアを移動する必要なく、非常に速いラスタ化できます。ただし、場合によっては、VBOの使用はグラフィックカードハードウェアによってサポートされていません。これにより、VBOを使用することで追加の利点を削除するプログラミングの問題、または一部のグラフィックカードと互換性のないプログラムを削除する可能性があります。
OpenGL®VBOが使用されたときにどのように扱われるかを最適化するのに役立ついくつかの方法があります。これらの1つは、グラフィックカードにヒントを提供するか、VBOがメモリ内にある場所を決定するのに役立つことです。提供されるヒントに応じて、VBOはグラフィックカードのグラフィックメモリに直接保存することができます。または、必要と思われる場合は、システムのメインランダムアクセスメモリ(RAM)に保存することができます。