OpenGL ES ストレージ メカニズムに興味があります。データを独自のメモリにコピーしますか、それともデータへのポインタを格納するだけですか。対処が行われない場合 (論理的なこと)、VBO が使用される理由よりも。
質問する
331 次
2 に答える
1
重要なことは、OpenGL(ES) がクライアント サーバー モデルとして構築されていることを覚えておくことです。つまり、通常、「CPU」はクライアントであり、「GPU」はサーバーです。
これらの 2 つのメモリ ストレージは異なります。いくつかの頂点を描画したい場合、それを「CPU」から「GPU」に送信する必要があります。これには通常、システム メモリから GPU メモリにデータをコピーすることが含まれます。描画を実行するために何度も送信する必要がある各フレーム...もちろん遅いです。
VBO は、これらの頂点データを GPU に保存し、単純にコピーを回避する方法です。"Draw" コマンドを追加するだけで、データはシステム メモリではなく GPU メモリからフェッチされます。それははるかに高速になります。
于 2012-05-10T22:01:24.530 に答える
0
テクスチャとバッファ オブジェクトは、最終的には互いに関係がありません。いずれにせよ、直接的な関係はありません。
ただし、いくつかの類似点があります。どちらも OpenGL によって割り当てられたメモリを表します。したがって、それらへのデータのアップロードはすべてコピー操作です。テクスチャさえ。
于 2012-05-10T17:23:40.380 に答える