関数で VBO を作成し、VBO ID のみを返したいと考えています。
別の関数で glDrawArrays を使用し、頂点の数を渡す必要なく、VBO 内のすべての頂点を描画する必要があります。VBO には、テクスチャ座標データも含まれています。
ありがとうございました。
関数で VBO を作成し、VBO ID のみを返したいと考えています。
別の関数で glDrawArrays を使用し、頂点の数を渡す必要なく、VBO 内のすべての頂点を描画する必要があります。VBO には、テクスチャ座標データも含まれています。
ありがとうございました。
あなたはそれを返す必要があります、ごめんなさい。VBO に関するデータは、CPU から遠く離れた場所にあり、アクセスが遅い可能性があるため、必要なデータはすべてローカルに保持する必要があります。
アプリケーションにとっては役に立たないかもしれませんが、引数 GL_BUFFER_SIZE を指定して glGetBufferParameteriv を使用できます:バッファ オブジェクトのバイト数を返します。
バッファ オブジェクトを構成する要素の数を取得するには、バッファ要素の内部形式 (および実際にはバイト単位のサイズ) を知っておく必要があるため、これが解決策であるとは言い難いです。
確かに、最良の解決策は、バッファー オブジェクトを表すクラスにほとんどの情報を保持することですが、あなたの質問から理解できるように、これを実装するのは困難です。