私は、線として表された一連のデータをプロットする単純なopenglアプリケーションに取り組んでいます。パフォーマンス上の理由から、データを複数のチャンクに分割し、それらを複数のVOBにアップロードします。後で、各VBOを個別にレンダリングします。次に、いくつかのサンプルコードを示します。
n_COORDINATES_PER_VERTEX = 2
NBR_DATA_POINTS_PER_VBO = 1000
# plot each VBO
for segment in range(segments):
# bind the named buffer object so we can work with it.
glBindBuffer(GL_ARRAY_BUFFER, vbos[segment])
# specifies the location and data format of an array of vertex coordinates to use when rendering
glVertexPointer(n_COORDINATES_PER_VERTEX, GL_FLOAT, 0, 0)
# render primitives from array data
glDrawArrays(GL_LINE_STRIP, 0, NBR_DATA_POINTS_PER_VBO)
これは非常にうまく機能しますが、残念ながら、前のVBOの最後のポイントと次のVBOの最初のポイントの間に視覚的なギャップがあります。GL_LINE_STRIP
は各VBO内のデータに対してのみ作成されるため、これは理にかなっています。
したがって、私の質問:複数のVBOが、間にジャンプすることなく1行としてレンダリングされるようにするにはどうすればよいですか?