0

私は古い glBegin() プログラマーで、この構造を移植する必要があります

struct Line { float color[3]; float vertices[2][3];};

より新しい描画パラダイムへ。glDrawArrays または glDrawElements を使用してこれを描画する方法、シェーダーは問題ないと仮定しますか?

ありがとう、マイク。

4

1 に答える 1

0
glEnableVertexAttribArray(0);
glEnableVertexAttribArray(1);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(float) * 3, lines->vertices);
glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, sizeof(float) * 3, lines->color);
glDrawElements(GL_LINES, 2, GL_UNSIGNED_SHORT, line_indices);

頂点シェーダーの「位置」と「色」の頂点属性を 0 と 1 に割り当てたと仮定します。インデックス配列は次のようになりGLshort indices[] = { 0, 1 };ます。

于 2013-10-28T10:24:52.053 に答える