インターリーブされた配列形式があり、オープンGLでレンダリングしたいと思います。三角形の配列です。頂点は2Dフローティングポイントで、色はRGBAフローティングポイントです。つまり、単一の三角形が次のように配置されます。
{vertex.x, vertex.y, color.red, color.blue, color.green, color.alpha, ...}
すべての数値が単精度浮動小数点数である場合。formatパラメータがどうあるべきか理解するのに苦労しています。V2FとC4Fが必要なようですが、そのようなシンボリック定数は存在しません。私はそれらを一緒にORすることができます(GL_V2F | GL_C4F)
か?
更新:私はpythonとpyopenglを使用しています。tiburの答えは非常に明確で、Cでプログラミングしていれば完了です。Pythonコードは非常に似ていますが、ポインターをカラー配列に8バイトオフセットする必要があります。Pythonでこれを行う方法、またはそれが可能かどうかさえわかりません。
strideInBytes = 24
interleavedBytes = array.tostring()
glVertexPointer(2, GL_FLOAT, 24, interleavedBytes)
glColorPointer(4, GL_FLOAT, 24, interleavedBytes) #The first color actually starts on the 9th byte
インターリーブされた配列全体をコピーすることは避ける必要があります。それ以外の場合は、コピーを作成して最初の8バイトを切り落とすことができます。