ユーザーのさまざまな入力に基づいて移動できるテクスチャ ポリゴン メッシュがあります。たとえば、ユーザーは頂点をさまざまな方向に移動できます。ただし、頂点の数とテクスチャ座標は常に一定です。
これは GL_STATIC_DRAW を使用するのに適した状況ですか、それとも GL_STREAM_DRAW のような別のものを使用する必要がありますか?
ユーザーのさまざまな入力に基づいて移動できるテクスチャ ポリゴン メッシュがあります。たとえば、ユーザーは頂点をさまざまな方向に移動できます。ただし、頂点の数とテクスチャ座標は常に一定です。
これは GL_STATIC_DRAW を使用するのに適した状況ですか、それとも GL_STREAM_DRAW のような別のものを使用する必要がありますか?
頂点が移動するたびに VBO を更新する代わりに、変換を使用することをお勧めします。変換を使用すると、変換行列に位置ベクトルを掛けるだけで、頂点を移動、回転、またはスケーリングできる行列を作成できます。この乗算は、GLSL シェーダーを使用してグラフィックス カードで実行できます。この方法を使用すると、頂点バッファーを変更する必要がなくなります。
OpenGL で変換を使用する方法の詳細については、この記事を読むことをお勧めします: https://open.gl/transformations
いいえ、あなたの状況は GL_STATIC_DRAW を使用するのに適したケースではありません。h4lcOn のリンクが示すように、動的またはストリームを使用する必要があります。あなたが何をしようとしているのかを正しく理解していれば、VBOはまったく使用しません。単純なポリゴンの描画呼び出しごとに座標をプッシュする場合、(たとえあったとしても) 大きなオーバーヘッドはありません。大量のポリゴンがある場合や、1 つのフレームで同じ頂点データを使用して大量の描画呼び出しを行う場合は、VBO を使用します。