OpenGLで単一の構造体と単一のVBOを使用するオブジェクトに色を追加しようとしています。OpenGL VBOの色は?
typedef struct {
float x;
float y;
float z;
float r;
float g;
float b;
float a;
} Vertex;
私はすでに私がテストを実行したので、私は、私が欲しいものを得るために正しく座標と色のすべてを設定してることを知っている:これを行うには、私はそれがこのようになります作成したVertex
構造体を持っていますglVertex3f
とglColor4f
(これは私が探しているものよりかなり遅かった)を使用して、私のリストに保存している点を引き出し、色を設定する各オブジェクトを繰り返します。しかし、私がVBOを使って描画しようとすると、どこでも色の付いた三角形の巨大な混乱が生じるだけです。
VBOを描く私のレンダリングループの一部は次のようになります。私は間違って何をやっている
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, NULL);
glEnableClientState(GL_COLOR_ARRAY);
glColorPointer(4, GL_FLOAT, offsetof(Vertex, r), NULL);
glDrawArrays(GL_TRIANGLES, 0, vertex_amount);
glBindBuffer(GL_ARRAY_BUFFER, 0);
?あなたがstride
ため0
を使用することはできませんのでVertex
の配列で